Dinu Gherman
2005-05-23 20:32:38 UTC
Hallo,
oehm... aehm... irgendwie darf das doch wohl nicht sein, dass die
String-
Methode upper() kleine Umlaute unverändert laesst, egal ob Byte-Strings
oder Unicode-Strings, egal ob auf Mac OS X oder Windows (Debian Linux
an-
scheinend genauso)? Im Beispiel unten kommt nur bei Unicode unter
Windows
das Ergebnis, das ich erwarte. Muss man dazu vielleicht schon im Modul
locale etwas einstellen?
In allen Beispielen wird ein kleines "oe" verwendet (nur, falls die
Email-
Programme das unterwegs verhunzen... Unter Mac OS X (10.3.9) habe ich
ein
normales Terminal-Fenster benutzt und unter Windows XP eine normale DOS-
aehnliche Konsole... lower() bzw. andere Umlaute habe ich nicht
getestet.
Scheint aber mit frz. Vokalen mit Accents das Gleiche zu sein.
Leicht irritiert,
Dinu
Python 2.4 (#1, Feb 7 2005, 21:41:21)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1640)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
oehm... aehm... irgendwie darf das doch wohl nicht sein, dass die
String-
Methode upper() kleine Umlaute unverändert laesst, egal ob Byte-Strings
oder Unicode-Strings, egal ob auf Mac OS X oder Windows (Debian Linux
an-
scheinend genauso)? Im Beispiel unten kommt nur bei Unicode unter
Windows
das Ergebnis, das ich erwarte. Muss man dazu vielleicht schon im Modul
locale etwas einstellen?
In allen Beispielen wird ein kleines "oe" verwendet (nur, falls die
Email-
Programme das unterwegs verhunzen... Unter Mac OS X (10.3.9) habe ich
ein
normales Terminal-Fenster benutzt und unter Windows XP eine normale DOS-
aehnliche Konsole... lower() bzw. andere Umlaute habe ich nicht
getestet.
Scheint aber mit frz. Vokalen mit Accents das Gleiche zu sein.
Leicht irritiert,
Dinu
Python 2.4 (#1, Feb 7 2005, 21:41:21)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1640)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
"ö"
'\xc3\xb6'print "ö"
öprint "ö".upper()
ö"ö" == "ö".upper()
Trueu"ö" == u"ö".upper()
TruePython 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
"ö"
'\x94'print "ö"
öprint "ö".upper()
ö"ö" == "ö".upper()
True u"ö" == u"ö".upper()
False