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

Langage Java Discussion :

[XML]Comment utiliser les caractère étendus


Sujet :

Langage Java

  1. #1
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2004
    Messages : 754
    Points : 1 287
    Points
    1 287
    Par défaut [XML]Comment utiliser les caractère étendus
    Salut tout le monde.

    J'ai un petit problème avec l'utilisation des caractères étendus dans un fichier XML. Je voudrais écrire des caractères qui font parti de la table Latin-A (http://fr.wikipedia.org/wiki/Table_des_caract%C3%A8res_Unicode_(0000-0FFF)#Latin_.C3.A9tendu_-_A) Unicode, dans un fichier XML. Tant que je suis au niveau DOM, aucun problème, mes caractères sont correctement enregistré dans mon attribut.
    Ensuite j'utilise le code suivant pour écrire dans un fichier cet XML, en écrivant octet par octet...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                XMLOutputter xmlOut = new XMLOutputter();
                Format xmlFormat = Format.getCompactFormat();
                xmlFormat.setEncoding("UTF-8");
                xmlOut.setFormat(xmlFormat);
     
                try
                {
                    File license = new File("License.lic");
                    Writer writer = new FileWriter(license);
                    xmlOut.output(document, writer);
    Et là, c'est le drame. Mon fichier ne contient pas les bons caractères. Et ce n'est pas juste un problème d'affichage à l'écran, vu que quand j'essaie de lire le fichier, je n'obitens pas les bons carcatères...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            FileReader fileReader = null;
            Object result = null;
     
            try
            {
                SAXBuilder sxb = new SAXBuilder();
     
                fileReader = new FileReader(pLicenseFile);
                result = sxb.build(fileReader);
    (La, le document ne contient pas les bons carctères dans mes attributs...


    Pour info, voici la valeur de l'attribut que je récupère, où chaque '?' devrait être un carcatère de la table Latin-A.
    Citation Envoyé par Mon attribut XML
    ñ?å??êÝ×ð?ã??
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 938
    Points : 23 015
    Points
    23 015
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu ne spécifies pas l'encodage de ton fichier de sortie, et donc tu utilises l'encodage par défaut qui doit être différents d'UTF-8...

    Bref remplaces le FileReader par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reader = new InputStreamReader(new FileInputStream(pLicenseFile), "utf-8");
    a++

  3. #3
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2004
    Messages : 754
    Points : 1 287
    Points
    1 287
    Par défaut
    Bingo !

    J'ai fait pareil également du côté du Writer (en virant le Format et en mettant l'encoding directement au niveau du FileOutputStream) et ça marche nickel !

    Merci beaucoup, bonne journée et bon week-end
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2009, 09h59
  2. [Encoding] Comment stocker les caractères arabes dans un fichier XML?
    Par merci_tous dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 13/02/2007, 17h57
  3. [COM] Comment utiliser les événements Word ?
    Par Laurent Dardenne dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 30/05/2004, 13h38
  4. Réponses: 11
    Dernier message: 22/12/2003, 22h06
  5. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 20h47

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