Dann hast du die erste Zeile des Programms entfernt oder benutzt ein uraltes Python. Offensichtlich denkt dein Python naemlich der Quellcode waere in ascii, ist er aber nicht, was auch mit der Zeile
# -*- coding: utf_8 -*-
angegeben wird. Hier mit python2.4 funktioniert das wunderbar, sowohl mit UTF-8 als auch Latin1 Umgebung.
Das stimmt nicht. Diese Deklaration fuehrt einzig und alleine dazu, das unicode-literale mit dem entsprechenden encoding ausgewerted werden & dann zu unicode gewandelt. Alexanders Problem hingegen haengt mit der Wandlung eines unicode-strings zu eineim byte-string fuer die Ausgabe zusammen. Ich weiss nicht genau, wie python dazu kommt ein encoding an sys.stdout zu pappen - und es kann sein, das dies unter bestimmten Umstaenden eben nicht geht. Was aber auf jeden Fall klappen sollte: sys.stdout durch einen encoding-stream aus dem codecs modul zu ersetzen. Dann sollte das unter allen Umstaenden gehen. Also etwa so in der Art: sys.stdout = codecs.EncodedFile(sys.stdout, data_encoding="utf-8", errors="foo") Das foo ist natuerlich unsinn - aber ich finde im Moment nicht die moeglichen Werte ausser dem default strict - welcher an dieser Stelle fuer debugging-Zwecke vielleicht duerch eine relaxtere Variante ersezts werden sollte. Diez _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de