non valide octet 2 de 2 octets UTF-8 séquence

j'essaie d'analyser un fichier XML avec <?version = 1.0, encoding = UTF-8> mais a couru dans un message d'erreur invalid byte 2 of 2-byte UTF-8 sequence. Quelqu'un sait ce qui a causé ce problème?

24
demandé sur giannis christofakis 2010-03-11 01:51:54

6 réponses

le Plus souvent il est dû à l'alimentation ISO-8859-x (Latin-x, comme Latin-1) mais parser pense que ça devient UTF-8. Certaines séquences de caractères latins-1 (deux caractères consécutifs avec des accents ou des umlauts) forment quelque chose qui n'est pas valide comme UTF-8, et spécifiquement tel que basé sur le premier octet, le second octet a des bits inattendus de haut ordre.

Cela peut facilement se produire lorsque certains processus se déverse XML en utilisant le Latin-1, mais l'un ou l'autre oublie de produire XML déclaration (en auquel cas XML analyseur doit par défaut à UTF-8, par XML specs), ou prétend que c'est UTF-8 même si ce n'est pas le cas.

20
répondu StaxMan 2017-11-20 13:00:42

soit L'analyseur est défini pour UTF-8 même si le fichier est encodé autrement, soit le fichier est déclaré comme utilisant UTF-8 mais il ne l'est vraiment pas.

5
répondu Ignacio Vazquez-Abrams 2010-03-10 22:54:47

vous pouvez essayer de changer l'encodage par défaut utilisé par String.getBytes () à utf-8. Utilisez l'option VM-Dfile.encoding=utf-8.

3
répondu atott 2014-06-28 16:23:40

j'ai eu le même problème. Mon problème est que j'ai créé un nouveau fichier XML avec jdom et le FileWriter (xmlFile). Le FileWriter n'était pas capable de créer un fichier UTF-8. Au lieu d'utiliser le FileOutputStream (xmlFile) résolu.

3
répondu Spen 2016-04-24 11:00:52

pour ceux qui ont encore une telle erreur.

depuis UTF-8 est utilisé consultez votre document xml pour toute lettre latine ou ainsi: J'ai eu le même problème et la raison était que j'avais ceci:

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

Espérons que cette aide

1
répondu Salah Klein 2015-07-07 21:32:55

j'ai eu le même problème lorsque vous essayez d'importer mon .le fichier xml dans mon outil java. Et j'ai trouvé une bonne solution pour ce: 1. Ouvert le .fichier xml avec Notepad++ puis Enregistrer le .fichier xml .fichier rtf. Puis ouvrez ce fichier dans L'application WordPad. 2. Enregistrer la .fichier rtf .txt fichier, puis l'ouvrir avec le bloc-notes et enregistrer en tant que .fichier xml de nouveau. Lors de l'enregistrement dans le bloc-notes, près de la fin de la fenêtre pop-up, assurez-vous de choisir l'option "Encoding: UTF-8". Il a travaillé pour le mien, j'espère que c'est utile pour le vôtre trop.

0
répondu Athu 2015-12-16 09:12:47