[Python-de] lokalisierte String-Methoden?

Stefan Behnel behnel_ml at gkec.informatik.tu-darmstadt.de
Die Nov 22 11:09:06 CET 2005



Henning.Ramm at mediapro-gmbh.de schrieb:
>>> Python 2.3.2 (#49, Oct  2 2003, 20:02:00) [MSC v.1200 32 bit 
>> (Intel)] on win32
>>> .>>> print 'ölwännchen'.upper()
>>> öLWäNNCHEN
>>> Das gleiche mit Python 2.4.1 auf Win32.
>> Warum benutzt du keine Unicode-Strings?
> 
> Weil es auch nicht hilft:
> 
>>>> s = u'ölwännchen'
>>>> print s, s.upper()
> ölwännchen öLWäNNCHEN


Ah, das ist also dein Problem. Deine Konsole ist falsch eingestellt. Das hat
nichts mit Python zu tun. Was du da angezeigt bekommst, ist die UTF-8 Ausgabe
deines Strings (also auch eine Unicode-Darstellung). Das ist wunderbar in
Ordnung, wenn deine Konsole (oder Eingabeaufforderung, oder wie auch immer)
das auch ausgeben kann. Kann sie aber anscheinend nicht, sie scheint
ISO-8859-1 zu erwarten.

Ist also ein Windows-Problem, davon habe ich leider nur wenig Ahnung. Aber das
sollte dich nicht davon abhalten, das einfach zu benutzen. Nur, weil deine
Konsole das nicht anzeigen kann, heißt das nicht, dass Python da irgendwas
dran falsch macht.

Stefan