Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5778 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  SAXParseException "Invalid byte 2 of 2-byte UTF-8 sequence"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SAXParseException "Invalid byte 2 of 2-byte UTF-8 sequence"

n°1336958
andOceans
AMGOD
Posté le 01-04-2006 à 13:42:04  profilanswer
 

Bonjour,
 
Comme l'indique le titre, j'obtient cette erreur :

Citation :

[Fatal Error] foo.xml:22677:49: Invalid byte 2 of 2-byte UTF-8 sequence.


Or à l'endroit indiqué, on trouve cela : "NIÑO". Il plante sur le tildet donc.
L'en-tête du XML est

Citation :

<?xml version="1.0" encoding="UTF-8" ?>


Y'a t-il une solution pour éviter cette erreur ?  
 
Le XML en question est généré par un autre programme, je ne peux donc rien y faire.
 
Le code simplifié donne cela :

Code :
  1. usine = DocumentBuilderFactory.newInstance();
  2. usine.setNamespaceAware(true);
  3. usine.setValidating(false);
  4. usine.setIgnoringElementContentWhitespace(true);
  5. DocumentBuilder analyseur = usine.newDocumentBuilder();
  6. analyseur.parse(cheminXML);


mood
Publicité
Posté le 01-04-2006 à 13:42:04  profilanswer
 

n°1337394
the real m​oins moins
Posté le 02-04-2006 à 18:35:15  profilanswer
 

bah y'a fort à parier qu'il est pas encodé en utf-8 ton document.
indique un autre encoding dans l'entete pour voir
(ou encode le vraiment en utf8 si tu peux)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1337481
andOceans
AMGOD
Posté le 02-04-2006 à 22:29:49  profilanswer
 

Bah en fait oui, j'ai enregistré moi même en UTF8 avec bloc notes tout simplement, et ça fonctionne.
J'ai codé ça rapidement pour le faire dans mon code (je rappelle qu'il est généré régulièrement par un autre prog), je crois que parfois ca merdait il mettait un ou deux caractères foireux au début du fichier, mais là, ca fonctionne.. allez savoir.

Code :
  1. private static String copyToUTF8(String src) {
  2.         try {
  3.             File inputFile = new File(src);
  4.             File outputFile = File.createTempFile("osef", "tmp" );
  5.             outputFile.deleteOnExit();
  6.             InputStream in = new BufferedInputStream(new FileInputStream(inputFile));
  7.             OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(outputFile)), "UTF-8" );
  8.             byte buffer[] = new byte[512*1024];
  9.             int nbLecture;
  10.             while ((nbLecture = in.read(buffer)) != -1)
  11.                 out.write(new String(buffer), 0, nbLecture);
  12.             in.close();
  13.             out.close();
  14.             return outputFile.getPath();
  15.         }
  16.         catch (Exception e) {
  17.             System.err.println(e);
  18.             return null;
  19.         }
  20.     }


Message édité par andOceans le 02-04-2006 à 22:31:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  SAXParseException "Invalid byte 2 of 2-byte UTF-8 sequence"

 

Sujets relatifs
[valid HTML vs invalid HTML] le saviez-vous ?[J2ME] Reconstituer un fichier a partir d'un byte[ ]
[SQL*PLUS]Insertion Sequence[C++ DL Linux] invalid pointer
[Flash Action script] SequenceSéquence de fusion et publipostage
passer d'une séquence à l'autre chez flashopérations sur byte donnent des ints ?!
[hibernate] probleme avec un filtre, et DB2 : "invalid parameter nb"[Java] [JMF] lire une vidéo sous forme de byte array?
Plus de sujets relatifs à : SAXParseException "Invalid byte 2 of 2-byte UTF-8 sequence"


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)