Seite 1 von 1

Umlaute im raw_input

Verfasst: Freitag 16. März 2012, 21:27
von MightyM
Hallo zusammen,

weiss jemand wie man Umlaute in einem raw_input darstellen kann, sodass Python, wenn man es als exe ausführt, nicht gleich abkackt?
bisher hab ich es so versucht:

Code: Alles auswählen

# -*- coding: iso-8859-1 -*-
str(raw_input(u"ähnlich"))
Aber wenn man das Programm ausführt schliesst es sich gleich wieder.

Gruss
Mike

Re: Umlaute im raw_input

Verfasst: Freitag 16. März 2012, 21:40
von cofi
1. Lies http://wiki.python-forum.de/FAQ#Wie_sta ... Skripte.3F damit kannst du auch die Fehlermeldung lesen.
2. Das Default-Encoding in Python 2 ist `ascii` damit kann man kein 'ä' kodieren, d.h. du wirst einen `UnicodeEncodeError` sehen.
3. Um das zu beheben, musst du deinen Unicode String fuer dein Ausgabeterminal richtig kodieren, zb mit

Code: Alles auswählen

import sys
raw_input(u'ähnlich'.encode(sys.stdout.encoding))
Das Coding Cookie am Anfang der Datei hat darauf keinen Einfluss, sondern nur darauf, dass dein 'ähnlich' aus der Python-Datei richtig dekodiert werden kann. Stimmt _dieses_ Encoding nicht, kann das auch ein Grund fuer den Fehler sein.

Re: Umlaute im raw_input

Verfasst: Freitag 16. März 2012, 21:43
von MightyM
Alles klar, danke für die schnelle Hilfe.

Gruss