Seite 1 von 1

Verfasst: Freitag 20. Januar 2006, 19:49
von jens
Also ich hab mein Test-Skript nur unter Win gestet und das läuft wunderbar, bis auf die Dateinamen...
Komischerweise funktioniert es nicht in SciTE :shock:
Aber spuckt er mir auch ein outencoding: mbcs aus, was immer das auch sein mag... Hab noch nicht nachgesehen, ob man das irgendwie Einstellen kann...

Verfasst: Samstag 1. April 2006, 17:01
von gerold
Zu diesem Thema möchte ich noch hierhin verweisen: http://www.python-forum.de/viewtopic.php?t=5095

Verfasst: Sonntag 23. Juli 2006, 10:58
von bb1898
gerold hat geschrieben: Das Coding der Konsole bekommst du mit "sys.stdout.encoding" raus.

Unabhängig vom Coding der Konsole gibt es noch das Coding, in dem die Dateinamen gespeichert werden. Dieses Coding bekommst du mit "sys.getfilesystemencoding()" heraus.

Da man in manchen IDEs, beim Ausführen nicht auf "sys.stdout.encoding" zugreifen kann oder einfach nur nichts dabei raus kommt, nehme ich als Alternative noch "sys.getfilesystemencoding()" mit rein. Das klappt bei mir recht gut.

OUTCODING = sys.stdout.encoding or sys.getfilesystemencoding()
FSE = sys.getfilesystemencoding()
So geht es nicht überall: PythonWin (build 208, Python 2.4.3) und Eric (genaue Version ist mir im Moment nicht zugänglich, wahrscheinlich 3.8.xxx oder so) brechen bei der Definition von OUTCODING mit einem AttributeError ab. Also wohl besser, wenn auch umständlicher:

Code: Alles auswählen

try:
    OUTCODING = sys.stdout.encoding
except AttributeError:
    OUTCODING = sys.getfilesystemencoding()
oder ähnlich.