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 :

mauvaise interprétation de caractères [SAX]


Sujet :

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

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut mauvaise interprétation de caractères
    Bonjour,

    Je vous écris dans le plus grand stress car je viens de m'apercevoir d'un très gros problème sur mon application qui doit être finie demain matin

    elle se compose d'une interface graphique qui exploite plusieurs fichiers xml servant à stocker des données.

    Je précise que je m'y connais très peu en xml (avec un peu de chance la réponse à mon problème est simple, mais je ne l'ai pas trouvée dans les posts précédents).

    Je crois que cela a de l'importance, mes fichiers xml commencent par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?xml version="1.0" encoding="ISO-8859-2"?>
    J'utilise un parseur SAX qui est une adaptation de celui qui est proposé dans la FAQ (PersonneHandler).

    Ma méthode characters commence comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void characters(char[] ch, int start, int length) throws SAXException{
        String lecture = new String(ch,start,length);
        if(inTitre){
          elementHolotheque.setTitre(lecture); 
          System.out.println("on vient de lire, dans le xml, ce titre: "+lecture);
        }else if(inType){
          elementHolotheque.setType(lecture); 
        }else if(inLieu){
    ...
    }
    Le problème est que le message qu'affiche mon println est différent de la donnée dans le fichier xml. Exemple: si on est dans un titre (inTitre == true) et que lecture vaut "è" alors j'obtient un "?", et c'est le cas pour de nombreux caractères (pas pour "é" bizarrement)

    J'ai vraiment besoin d'aide de toute urgence, car mon appli doit réaliser des recherches dans les fichiers xml, et si certains caractères ne sont pas reconnu ça ne risque pas de marcher

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    C'est normal que tu ais des caractères qui ne passent pas sur la sortie standard car java travail en unicode or la sortie standard utilise l'encodage de l'OS.
    Pour vérifier essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("éèàù");
    tu devrais avoir des caractères bizarres sur la sortie standard.
    Par contre au niveau de l'interface graphique tu ne devrais pas avoir de problème (enfi normalement ).

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    ben non quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println("éèàù");
    dans une classe quelconque j'obtiens bien:
    éèàù
    et des caractères bizarres dans mon interface graphique, mais comme le montre l'exemple que j'ai donné plus, haut, le problème commence au niveau du parseur, puisque lorsqu'il devrait lire une chaine "èèè", la chaine lecture vaut "???"

    Heeeeelllppppppp!!!

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    As tu essayé ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="utf-8"?>
    ?

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    yes! merci
    j'ai essayé plusieurs changements de la 1ère ligne de mes fichiers xml et en fait il suffisait de remplacer:

    <?xml version="1.0" encoding="ISO-8859-2"?>
    par
    <?xml version="1.0" encoding="ISO-8859-1"?>

    merci à tous!

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Bon ben si ton pb est résoudu ! Oublie pas de cliquer sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. interprétation des caractères spéciaux
    Par mobidyc dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/02/2008, 12h00
  2. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 13h59
  3. Réponses: 22
    Dernier message: 02/12/2005, 16h37
  4. [Applet][XML] Ne pas interpréter les caractères spéciaux
    Par leminipouce dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 28/07/2005, 17h15
  5. Réponses: 2
    Dernier message: 19/10/2004, 10h55

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