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

Stefan Schwarzer sschwarzer at sschwarzer.net
Mon Aug 28 15:11:17 CEST 2006


Hallo Alexander,

On 2006-08-28 12:43, Alexander 'boesi' Bösecke wrote:
> Mein Problem ist nun, dass wenn stdout nicht sichtbar ist (also auch
> nicht umgeleitet wird) und mit print Nicht-ASCII-Zeichen ausgegeben
> werden, werden alle nachfolgenden Befehle schlicht ignoriert. Das
> angehängte use_wx.py demonstriert dies. Wird das Programm mit 'python
> use_wx.py' ausgeführt, erscheinen 2 Message-Boxes und 'ä' wird auf
> stdout ausgegeben. Wird das Programm dagegen mit 'pythonw.exe ausgeführt,
> erscheint nur die 1. Message-Box. Wird 'ä' durch 'a' ersetzt, erscheinen
> in jedem Fall 2 Message-Boxes.

wenn ich dein Beispiel-Progrämmchen use_wx.py auf meinem Rechner
(Gentoo Linux) in einem xterm ausführe, bekomme ich nach dem
Klick auf die Schaltfläche "Test" einen Traceback:

Traceback (most recent call last):
  File "/tmp/use_wx.py", line 15, in test
    print u'ä'
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 0: ordinal not in range(128)

Es sieht für mich danach aus, dass wxPython die Ausnahme zwar
insoweit abfängt, dass sie nicht zum Programmende führt, aber zum
Beenden der test-Methode.

Der Traceback mag damit zu tun haben, dass mein Terminal Latin1
verwendet; ich weiß nicht, ob bei dir ein ähnlicher Fehler die
Ursache für dein Problem ist.

Auf jeden Fall finde ich sehr lobenswert, dass du den Fehler so
genau untersucht und auch Beispielprogrämmchen mitgeschickt hast. :-)

Viele Grüße
Stefan




More information about the python-de mailing list