Wenn ich eine utf-8 kodierte xml an eine ExpatParser-Instanz füttere:
def test(filename):
parser = xml.sax.make_parser()
with codecs.open(filename, 'r', encoding='utf-8') as f:
for line in f:
parser.feed(line)
...erhalte ich die folgende Meldung:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 72, in search_test
parser.feed(line)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb4' in position 29: ordinal not in range(128)
Wahrscheinlich übersehe ich hier etwas Offensichtliches. Wie ändere ich die Kodierung des Parsers von "ascii" in "utf-8"?