Estoy tratando de analizar un archivo XML con, pero me encontré con un mensaje de error "byte inválido 2 de 2 bytes de secuencia UTF-8. ¿Alguien sabe qué causó este problema ? Gracias.byte no válido 2 de 2 bytes secuencia UTF-8
Respuesta
o bien el analizador está configurado para UTF-8, aunque el archivo se codifica de otra forma, o el archivo se declara como el uso de UTF-8, pero en realidad no lo hace.
lo más común es que se debe a alimentando ISO-8859-x
(Latin-x, como Latin-1) pero analizador sintiendo 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 aquel basado en primer b yte, el segundo byte tiene bits inesperados de alto orden.
Esto puede ocurrir fácilmente cuando algún proceso vuelca a cabo XML
usando Latin-1, pero o se olvida de salida XML
declaración (en cuyo caso XML
analizador debe por defecto a UTF-8
, según XML
especificaciones), o dice que es UTF-8
incluso cuando no es
¿Alguna sugerencia sobre cómo solucionar eso? Me encontré con este problema al definir una tarea ant utilizando la biblioteca de terceros XMLTask. – AgentKnopf
Eso es difícil entonces; de lo contrario, lo que normalmente se hace es crear explícitamente un InputStreamReader para una codificación específica, y luego darlo al analizador XML. Pero no estoy seguro de qué hacer con Ant ... aparte de arreglar el archivo XML por supuesto, si es posible. – StaxMan
Descubrí el problema: en uno de mis xml tenía una Umlaut (ä, ö, ü) que de alguna manera se estropeó cuando convertí el archivo xml en diferentes formatos. Una vez que eliminé esa Umlaut, funcionó. – AgentKnopf
Puede intentar cambiar la codificación de caracteres predeterminada utilizada por String.getBytes() a utf-8. Use la opción VM -Dfile.encoding = utf-8.
Tuve el mismo problema. Mi problema fue que creé un nuevo archivo XML con jdom y el FileWriter (xmlFile). El FileWriter no pudo crear un archivo UTF-8. En su lugar, utilizando el FileOutputStream (xmlFile) lo resolvió.
Para aquellos que todavía cometen ese error.
desde UTF-8 se utiliza el registro de salida el documento XML para cualquier letras latinas o menos: tuve el mismo problema y la razón era que tenía esto:
<n:name>Åke Jógvan Øyvind</n:name>
espero que esto ayude
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 de WordPad. 2. Guarde el archivo .rtf como archivo .txt, luego ábralo con el Bloc de notas y guárdelo como archivo .xml nuevamente. 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 la mía, espero que sea útil para la tuya también.
- 1. MalformedByteSequenceException: Byte inválido 2 de 2 bytes secuencia UTF-8
- 2. ¿Qué significa el mensaje "Byte no válido 2 de una secuencia UTF-8 de 3 bytes"?
- 3. secuencia de bytes no válida para codificar "UTF8"
- 4. ¿Tiene un carácter 1 byte o 2 bytes en Java?
- 5. Tengo UTF-8, pero aún obtengo "Byte no válido 1 de 1 byte secuencia UTF-8"
- 6. C# XmlWriter y UTF8 no válido caracteres
- 7. UnicodeDecodeError, byte de continuación no válido
- 8. 2 bytes a short java
- 9. Convierte 2 bytes a un número
- 10. PostgreSQL + PHP + UTF8 = secuencia de bytes no válida para la codificación
- 11. Android: ¿toma poco realmente 2 bytes?
- 12. Explicación del error JAXB: bytes no válida 1 de 1 byte secuencia de codificación UTF-8
- 13. Python 2 a 3 bytes/error de cadena
- 14. readframes vuelven 2 bytes en Python
- 15. 2 bytes representan 3 enteros en C
- 16. códec utf8 no puede decodificar byte 0x96 en python
- 17. Error de Postgres en la inserción - ERROR: secuencia de bytes no válida para la codificación "UTF8": 0x00
- 18. ¿Se ha producido un error de secuencia de bytes no válido en la entrada normalize_yaml_input?
- 19. Ejemplo de cadena utf8 no válida?
- 20. Códec UnicodeDecodeError en/'utf8' no puede decodificar bytes
- 21. pudo abrir la secuencia: argumento no válido
- 22. ¿Cómo paso 2 parámetros a la secuencia de comandos Nant?
- 23. mezclando 2 sonidos de ByteArray
- 24. ¿Por qué DataOutputStream.writeUTF() agrega 2 bytes adicionales al principio?
- 25. ¿Hay bytes delimitadores para caracteres UTF8?
- 26. Convertir 16 bits con la firma int a 2 bytes?
- 27. Symfony 2 + herencia de Doctrine 2 +
- 28. Cómo asegurarse de que un int es de 4 bytes o 2 bytes en C/C++
- 29. copiar una secuencia vía byte []
- 30. ¿Por qué 2/2 es 2 en Javascript?
¿cómo está analizando el archivo xml? – jtahlborn