Мы не можем правильно преобразовать символы Unicode. Мы вносим вклад в формат XML, когда мы пытаемся преобразовать, мы не можем вернуть исходную строку.javax.xml.transform.TransformerFactory Unicode issue - Java
Это код, я использую,
StringCarrier OStringCarrier = new StringCarrier();
String SXmlFileData= "<export_candidate_response><criteria><output><lastname>Bhagavath</lastname><firstname>ガネーシュ</firstname></output></export_candidate_response>";
String SResult = "";
try
{
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(SXslFileName));
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF8");
OutputStream xmlResult = (OutputStream)new ByteArrayOutputStream();
StreamResult outResult = new StreamResult(xmlResult);
transformer.transform(new StreamSource(
new ByteArrayInputStream(SXmlFileData.getBytes("UTF8"))),outResult);
SResult = outResult.getOutputStream().toString();
}
catch (TransformerConfigurationException OException)
{
//Exception has been thrown
OException.printStackTrace();
return OStringCarrier;
}
catch (TransformerException OException)
{
//Exception has been thrown
OException.printStackTrace();
return OStringCarrier;
}
catch (Exception OException)
{
//Exception has been thrown
OException.printStackTrace();
return OStringCarrier;
}
Это выход я получаю ã,¬ãƒ? üã, · ム¥ вместо ガ ネ ー シ ュ
Здесь отсутствует код. У вас есть 'else', но нет' if', 'try', но не' catch'. Я уверен, что выходная кодировка не имеет значения, если вы пишете вывод в 'String'. Как вы наблюдаете проблему кодирования? – JLRishe
Я обновил код, можно проверить n дайте мне знать – GaneshBhagavath
Спасибо, но вы все еще не ответили на мой вопрос. Как вы смотрите на результат? Вы пишете это в файл? На консоль? Вы смотрите на него в отладчике? – JLRishe