válido secuencia org invalid bytes java xml encoding

java - secuencia - invalid byte 2 of 3 byte utf 8 sequence



byte no válido 2 de la secuencia UTF-8 de 2 bytes (6)

Estoy intentando analizar un archivo XML con <?version = 1.0, encoding = UTF-8> pero encontré un mensaje de error de invalid byte 2 of 2-byte UTF-8 sequence . ¿Alguien sabe qué causó este problema?


Más comúnmente es debido a la alimentación de ISO-8859-x (Latin-x, como Latin-1), pero el analizador piensa que está obteniendo UTF-8 . Ciertas secuencias de caracteres Latin-1 (dos caracteres consecutivos con acentos o diéresis) forman algo que no es válido como UTF-8 , y específicamente de tal forma que, según el primer byte, el segundo byte tiene bits de orden superior inesperados.

Esto puede ocurrir fácilmente cuando algún proceso descarga XML utilizando Latin-1, pero se olvida de generar la declaración XML (en cuyo caso el analizador XML debe predeterminarse a UTF-8 , según las especificaciones de XML ), o reclama que es UTF-8 incluso cuando no es


O bien el analizador está configurado para UTF-8 aunque el archivo esté codificado de otra manera, o el archivo se declara como usando UTF-8 pero realmente no lo hace.


Para aquellos que todavía cometen tal error.

ya que se está utilizando UTF-8, revise su documento xml en busca de letras latinas o así: tuve el mismo problema y la razón fue que tuve esto:

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

Espero que esto ayude


Podría intentar cambiar la codificación de caracteres predeterminada utilizada por String.getBytes () a utf-8. Utilice la opción VM -Dfile.encoding = utf-8.


También tuve el mismo problema al intentar importar mi archivo .xml en mi herramienta java. Y encontré una buena solución para esto: 1. Abra el archivo .xml con Notepad ++ y luego guarde el archivo .xml como archivo .rtf. A continuación, abra este archivo en la aplicación WordPad. 2. Guarde el archivo .rtf como archivo .txt, luego ábralo con el Bloc de notas y guárdelo nuevamente como archivo .xml. Al guardar en el Bloc de notas, cerca del final de la ventana emergente, asegúrese de elegir la opción "Codificación: UTF-8". Funcionó para el mío, espero que sea útil para el tuyo también.


Yo tuve el mismo problema. Mi problema fue que creé un nuevo archivo XML con jdom y FileWriter (xmlFile) . FileWriter no pudo crear un archivo UTF-8. En su lugar, resolvió FileOutputStream (xmlFile) .