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

Bibliothèques tierces Python Discussion :

pyXML & Charset


Sujet :

Bibliothèques tierces Python

  1. #1
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut pyXML & Charset
    Bonjour!

    J'utilise pyXML pour lire un fichier XML, tout ce qu'il a de plus normal, encodé en iso-8859-1 (et c'est écrit dans l'entete du fichier).

    Pourtant, quand je mets une méthode du type (c'est du SAX):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    def characters(self, ch):
      print ch
    Il me jette au premier accent venu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Traceback (most recent call last):
      File "javascript-faq.py", line 80, in ?
        parser.parse("javascript-faq.xml")
      File "D:\Program Files\insee\atelier-dev-2\applications\py24\Lib\site-packages\_xmlplus\sax\expatreader.py", line 109, in parse
        xmlreader.IncrementalParser.parse(self, source)
      File "D:\Program Files\insee\atelier-dev-2\applications\py24\Lib\site-packages\_xmlplus\sax\xmlreader.py", line 123, in parse
        self.feed(buffer)
      File "D:\Program Files\insee\atelier-dev-2\applications\py24\Lib\site-packages\_xmlplus\sax\expatreader.py", line 216, in feed
        self._parser.Parse(data, isFinal)
      File "javascript-faq.py", line 45, in characters
        print ch
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 12: ordinal not in range(128)
    Apparement, il s'attends à trouver de l'ascii, et effectivement, c'est pas très compatible avec les accents. Mais comment lui dire que ce ne va pas être de l'ascii mais de l'iso-8859-1?


  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Essaye de mettre ca à la premiere ligne de ton script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    # -*- coding: iso-8859-1 -*-
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

Discussions similaires

  1. [Encodage] Charset et console Dos
    Par ToYonos dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 01/02/2005, 12h10
  2. Problème de charset
    Par Yodalf dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2004, 09h29

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