Подтвердить что ты не робот

Недействительный байт 2 из 2-байтовой последовательности UTF-8

Я пытаюсь проанализировать XML файл, но столкнулся с сообщением об ошибке "недопустимый байт 2 из 2-байтовой последовательности UTF-8. Кто-нибудь знает, что вызвало эту проблему? Спасибо.

4b9b3361

Ответ 1

Чаще всего это связано с кормлением ISO-8859-x (латинский-х, как латинский-1), но парсер думает, что он получает UTF-8. Определенные последовательности символов Latin-1 (два последовательных символа с акцентами или умлауты) образуют что-то, что недействительно как UTF-8, и особенно такое, что на основе первого байта второй байт имеет неожиданные старшие разряды.

Это может легко произойти, когда какой-то процесс выгружает XML с использованием латинского-1, но либо забывает выводить объявление XML (в этом случае парсер XML должен по умолчанию использовать UTF-8, в соответствии с спецификациями XML) или утверждает, что он UTF-8, даже если это не так.

Ответ 2

Либо синтаксический анализатор настроен для UTF-8, даже если файл закодирован иначе, либо файл объявлен как использование UTF-8, но это действительно не так.

Ответ 3

Вы можете попытаться изменить кодировку символов по умолчанию, используемую String.getBytes(), в utf-8. Используйте опцию VM -Dfile.encoding = utf-8.

Ответ 4

У меня была та же проблема. Моя проблема заключалась в том, что я создал новый XML файл с jdom и FileWriter (xmlFile). FileWriter не смог создать файл UTF-8. Вместо этого решила FileOutputStream (xmlFile).

Ответ 5

Для тех, кто до сих пор получает такую ​​ошибку.

так как используется UTF-8, проверьте свой XML-документ для любых латинских букв или так: У меня была та же проблема, и причина в том, что у меня было это:

<n:name>Åke Jógvan Øyvind</n:name>

Надеюсь, что это поможет

Ответ 6

У меня тоже была проблема при попытке импортировать мой XML файл в инструмент java. И я нашел хорошее решение для этого: 1. Откройте файл .xml с помощью Notepad ++, затем сохраните файл .xml в виде файла .rtf. Затем откройте этот файл в приложении WordPad. 2. Сохраните файл .rtf как .txt файл, затем откройте его с помощью Блокнота и сохраните его как .xml файл снова. При сохранении в "Блокноте", рядом с окном всплывающего окна, выберите вариант "Кодирование: UTF-8". Он работал на мою, надеюсь, что это тоже полезно для вас.