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):
Il me jette au premier accent venu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 def characters(self, ch): print ch
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?
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)
Partager