IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Problème d'accents à la lecture d'un flux XML


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Problème d'accents à la lecture d'un flux XML
    Bonjour,

    j'ai un petit problème à la lecture de mon fichier XML car il me fait une erreur de ce type :

    java.io.UTFDataFormatException: Octet 2 incorrect dans la séquence UTF-8 à 3-octets.
    at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
    at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)

    pour le recuperer j'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public Element chargerXML(File file){
    		SAXBuilder saxBuilder = new SAXBuilder();
    		Element root = null;
    		try {
    			Document doc = saxBuilder.build(file);
    			root = doc.getRootElement();											
    		} catch (JDOMException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}		
    		return root;
    	}
    je sais que ça vient des accents qui se trouvent dans mon fichier car quand je les enleve, le fichier se charge correctement. Je pense finalement que ça vient plus de la façon dont j'enregistre le fichier XML plutot que la lecture.

    Le fichier XML est de ce type : <?xml version="1.0" encoding="UTF-8"?> ...

    Merci si vous avez une idée !

  2. #2
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    Tu est obligé d'utiliser un xml en UTF-8?

    Si tu peux changer, utilise un xml en ISO-5589-1. Cela devrait solutionner ton problème.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Aldo
    Tu est obligé d'utiliser un xml en UTF-8?

    Si tu peux changer, utilise un xml en ISO-5589-1. Cela devrait solutionner ton problème.
    tu veux dire celui là : ISO-8859-1 ?

    Oui j'ai deja essayer aussi, j'ai plus l'erreur mais le fichier ne se charge pas pour autant

  4. #4
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    désolé, je me suis trompé , mais c'est bien iso-8859-1 que je voulais dire.

    Le xml s'ouvre t-il dans Internet explorer?

    Normalement pas avec utf-8 mais chez moi cela fonctionne avec ides acents et un encoding en iso-8859-1.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Oui le fichier s'ouvre correctement sous ie ou firefox...

    je pense que cela vient de ma façon d'enregistrer mon fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    out = new PrintWriter(new FileWriter(outFile));
    out.println() ...

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 84
    Points : 98
    Points
    98
    Par défaut
    Si tu passe par des tableaux de bytes, il faut faire attention qu'il est possible de préciser le type d'encodage, donc si on veut utiliser utf-8:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    aStringObject.getBytes("UTF-8")
    sinon, il utilise l'encodage par défaut

Discussions similaires

  1. lecture d'un flux XML
    Par Matt_NewDev dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 04/03/2013, 14h38
  2. Probleme de lecture d'un flux XML depuis une URL
    Par euyeusu dans le forum ASP
    Réponses: 3
    Dernier message: 10/09/2008, 22h01
  3. Problème lors de la lecture d'un fichier xml avec XMLBeans
    Par oscar78 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/09/2007, 14h04
  4. Réponses: 3
    Dernier message: 07/06/2007, 13h22
  5. [FLASH MX] Lecture d'un flux XML
    Par oxa dans le forum Flash
    Réponses: 2
    Dernier message: 02/06/2006, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo