[Python-de] lokalisierte String-Methoden?
Diez B. Roggisch
deets at web.de
Die Nov 22 15:34:12 CET 2005
On Tuesday 22 November 2005 12:41, Franz Kelnreiter wrote:
> Hallo Allerseits,
> ich bekomme bei dem Beispiel überhaupt nur Nonsens und glaube doch, dass
> es mit den locals und dem "consolefont" im engeren Sinne zu tun haben
> muss.
>
> >>>print s
>
> führt in WinXP habe bei mir zu folgendem Error:
> ..
> File "C:\Python23\lib\encodings\cp850.py", line 18, in encode
> return codecs.charmap_encode(input,errors,encoding_map)
> UnicodeEncodeError: 'charmap' codec cant encode character u'\x94' in
> position 0: character maps to <undefined>
>
> In Linux 2.6.13-gentoo-r5 fällt das Ganze ein wenig schweigsamer aus
> und lautet bloß:
> UnicodeEncodeError: 'ascii' codec can't encode characters in position
> 0-1: ordinal not in range(128)
>
> das ist aber zugegeeben sei ich vor kurzen neu aufgesetzt habe ein
> xorg.conf Problem, das mir keine de Lokalen in den diversen
> Konsole-Shells anzeigen will, wohingegen bei anderen XApps hier kein
> Problem besteht: siehe äÖö߀
Das ist von Hennings Problem unberuehrt und zeigt nur das "uebliche"
Fehlerverhalten wenn man probiert unicode-Objekte zu strings zu wandeln, ohne
dabei explizit ein encoding vorzugeben. Dann verwendet er naemlich das
default-encoding (das unter XP cp850 zu sein scheint, bei mir und dir unter
linux aber ascii) - mit dem Ergebnis, das es nicht klappt.
Statt
print s
mach mal
print s.encode("latin1")
oder
print s.encode("utf-8")
Dann klappt's.u
Diez