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 Perl Discussion :

Remplacement de caractères incorrectes dans un fichier XML


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Remplacement de caractères incorrectes dans un fichier XML
    Bonjour,

    J'ai des fichiers XML générés par une application dans lesquels j'ai des caractères incorrectes, exemple : propos¾‚ par.
    Cela me crée des erreurs lors que je traite ce fichier avec XML:: Parser.
    Le code Hexa de se caractère est X'BE', serait-il possible de remplacer ses caractères (par des blancs par exemple X'20') avant de le parser ?

    Merci

    Jenf

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Vérifie l'encodage de ton fichier xml. En cas de besoin, lis-le avec "<:utf8" (par exemple).

    XML:arser ne devrait pas avoir de problème avec les caractères non-ASCII.

    Si tu as toujours des problèmes,

    1. vérifie que l'encodage est déclaré dans ton fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8"?>
    2. tu peux aussi indiquer l'encodage au parseur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $p->parse($xml, ProtocolEncoding => "UTF-8");
    3. s'il le faut transcode ta variable avec le module core Encode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xml = decode("utf-8",$xml);
    Normalement ça marche (chez moi en tous cas: je parse régulièrement des XML avec des caractères "rares").

    Tu peux aussi lire Character Encodings in XML and Perl pour en savoir plus.

Discussions similaires

  1. Caractère utile dans un fichier xml
    Par nounou0018 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/09/2009, 15h33
  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, 16h57
  3. Réponses: 2
    Dernier message: 16/08/2006, 14h47
  4. [XSLT] remplacement de chaine dans un fichier XML
    Par Eldarion dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/07/2006, 13h30
  5. [XSL] Caractère incorrect dans un fichier XML
    Par nicobest dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/09/2005, 14h06

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