Seite 1 von 1
encoding probleme
Verfasst: Donnerstag 18. Mai 2006, 19:18
von Korsakov
hi,
ich arbeite mit python 2.4.2 unter windows. habe probleme mit umlauten, insofern das ich sie nicht in eine datei schreiben kann. das parsen mit minidom aus der xml klappt mit den umlauten, lediglich das schreiben in eine datei nicht. ich bitte hiermit um eure hilfe!
PS: im forum gabs schon X beiträge dazu, allerdings konnte mir kaum einer von denen helfen, da das rauslesen von dem was ich brauche für mich als anfänger noch schwer ist.
MfG
Verfasst: Donnerstag 18. Mai 2006, 19:26
von murph
Kannst du denn auch mit einer explititen Fehlermeldung dienen?
Das hilft immer sehr weiter bei Umlauten...
Re: encoding probleme
Verfasst: Donnerstag 18. Mai 2006, 19:36
von gerold
Korsakov hat geschrieben:habe probleme mit umlauten
Hi Korsakov!
Vielleicht hilft dir das schon weiter:
http://www.python-forum.de/topic-5095.html
mfg
Gerold

Verfasst: Donnerstag 18. Mai 2006, 19:46
von Korsakov
@murph:
Code: Alles auswählen
Traceback (most recent call last):
File "EnCORE", line 110, in ?
makeCacheItems()
File "EnCORE", line 64, in makeCacheItems
cache.write('%s=%s\n' % (theNode, theValue))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 66:
ordinal not in range(128)
@gerold: das nen ich mal nen thread, danke werde ich morgen früh durchlesen

Verfasst: Donnerstag 18. Mai 2006, 20:01
von murph
du kannst halt nicht ascii für sonderzeichen benutzen, dafür brauchst du schon was besseres wie unicode, iso-western etc.
(das weiß ich nicht genau, was du da brauchst)
Verfasst: Donnerstag 18. Mai 2006, 21:43
von BlackJack
Korsakov hat geschrieben:@murph:
Code: Alles auswählen
Traceback (most recent call last):
File "EnCORE", line 110, in ?
makeCacheItems()
File "EnCORE", line 64, in makeCacheItems
cache.write('%s=%s\n' % (theNode, theValue))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 66:
ordinal not in range(128)
Das Unicode-Zeichen u'\xfc', ein kleines ü, ist nicht in ASCII enthalten. Du versuchst eine Unicode-Zeichenkette in eine Datei zu schreiben d.h. die muss irgendwie kodiert werden. Wenn Du nichts anderes angibst, dann wird ASCII als Kodierung genommen und wenn die Unicode-Zeichenkette etwas enthält was sich nicht als ASCII kodieren lässt, dann kommt die Ausnahme.
Am besten öffnest Du die Datei über `codecs.open` und gibst die gewünschte Kodierung an, dann kannst Du problemlos Unicode-Zeichenketten in die Datei schreiben, solange sie nur aus Zeichen bestehen, die mit der Kodierung dargestellt werden können.