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

Diez B. Roggisch deets at web.de
Die Aug 29 11:15:35 CEST 2006


> 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.

Das kannst du durch verveden von cp1252 statt utf-8 reparieren. 

Wie MvL ja schon ausgefuehrt hat, versucht python das encoding des terminals 
zu raten. Wenn das nicht geht, muss man die eben "von Hand" synchronisieren. 
Unter meinen *nix OSsen kann ich halt immer utf-8 einstellen, darum habe ich 
das gemacht.

> 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.

Kannst du das vielleicht in nem kleinen script illustrieren?

Diez



More information about the python-de mailing list