encoding probleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Korsakov
User
Beiträge: 15
Registriert: Samstag 8. April 2006, 20:03

encoding probleme

Beitragvon Korsakov » Donnerstag 18. Mai 2006, 19:18

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
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Donnerstag 18. Mai 2006, 19:26

Kannst du denn auch mit einer explititen Fehlermeldung dienen?
Das hilft immer sehr weiter bei Umlauten...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: encoding probleme

Beitragvon gerold » Donnerstag 18. Mai 2006, 19:36

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Korsakov
User
Beiträge: 15
Registriert: Samstag 8. April 2006, 20:03

Beitragvon Korsakov » Donnerstag 18. Mai 2006, 19:46

@murph:
[code=]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)[/code]

@gerold: das nen ich mal nen thread, danke werde ich morgen früh durchlesen :)
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Donnerstag 18. Mai 2006, 20:01

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)
BlackJack

Beitragvon BlackJack » Donnerstag 18. Mai 2006, 21:43

Korsakov hat geschrieben:@murph:
[code=]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)[/code]


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.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], harryberlin