Синтаксический анализатор Umlaut в Java SAX
-
13-09-2019 - |
Вопрос
В настоящее время у меня возникли проблемы со значениями немецкого умляута в полученном мной XML-документе.
Он отображает / сохраняет значение в виде "ü" вместо "ü".
Кодировка XML установлена на UTF-8 который должен быть способен отображать умлауты.
Также я не смог найти ни одной опции для установки локали в анализаторе SAX.
Есть ли какой-нибудь другой способ, которым я могу корректно сохранить значения?
кстати:Я использую eclipse в качестве IDE.
Любая помощь очень ценится!
Заранее спасибо!
Решение
XML закодирован в UTF-8, но вы декодируете его с помощью ISO-8859-1.
Попробуйте использовать InputStream
и другие "двоично" ориентированные API для XML.Избегайте использования Reader
, или пытается преобразовать из byte[]
к a String
перед разбором XML.У вас гораздо больше шансов перепутать кодировку символов, чем у анализатора.
Другие советы
Установка кодировки XML в UTF-8 в объявлении XML - это одно, но другое дело - физическая кодировка XML-документа, т. Е. У вас может быть XML-файл с надписью <?xml version="1.0" encoding="utf-8"?>
но сам файл все еще может быть закодирован ANSI (или что-то еще).