[Python-de] print von Nicht-ASCII-Zeichen

Alexander 'boesi' Bösecke boesi.josi at gmx.net
Die Aug 29 10:21:53 CEST 2006


Hi

Am 28.08.2006 22:54:56 schrieb Diez B. Roggisch:


> Hm, verstehe ich auch nicht. Ich haette gedacht das es geht - aber das 
> hier tuts auf jeden Fall:
> 
> # -*- coding: utf-8 -*-
> import sys, codecs
> 
> t = u"ä"
> sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
> print t

Danke das funktioniert ohne Fehlermeldung, aber die Windows-Console
(cmd.exe) interpretiert das 'ä' als 2 Zeichen. Das ist zwar nicht weiter
tragisch, aber zumindest unschön, weil's ohne dem ja korrekt dargestellt
wird. 
Ok ich kann noch eine Abfrage 'sys.stdout.isatty()' einbauen, aber
irgendwie ist das dann von hinten durch die Brust ins Auge...

....

Moment Kommando zurück, das funktioniert nur mit XP und nicht mit W2k.
Unter W2k beschwert sich Python mit:
        UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in
        position 0: ordinal not in range(128)
Ausserdem interpretiert cmd.exe unter W2k das 'ä' als 2 Zeichen, wenn
stdout nicht verbogen wird.


cu boesi ... so langsam komplett verwirrt ... 
-- 

<THammY-> und meine hände ham bisher immer
nur das gemacht was ich will </THammY>



More information about the python-de mailing list