Python Unicode-Konsolenunterstützung unter Windows
Ich versuche eine Umgebung zu erstellen, in der Unicode-Zeichen sowohl in Python 2.7 als auch in 3.4 unter Windows gedruckt werden können.
Durch die Nutzung Cmder / ConEmu Als Terminal wird UTF-8 ab Werk voll unterstützt.
Der Python-Support ist jedoch nicht so einfach.
Python 3.3 +Wenn ich @ setchcp 65001
, Python 3.3+ erkennt es und läuft einwandfrei.
Wenn ich @ setchcp 65001
es geht einfach gar nicht. Python erzeugt eine Fehlerzeile, während IPython überhaupt nicht funktioniert.
nscheinend durch Angabe vonset PYTHONIOENCODING=utf-8
Sowohl Python als auch IPython funktionieren und ermöglichen das Drucken vonetwa Unicode-Zeichen.
Zum Beispiel kann ich tun:
print u'\xc1'
aber ich kann nicht
print u'\xc1\xc1'
was produziert:IOError: [Errno 0] Error
Still, es ist besser als nichts, zumindest würden die meisten Python 2.7-Programme unverändert ausgeführt.
Meine Frage ist, dass, wenn ich @ hinzufüg
@chcp 65001 > nul
@set PYTHONIOENCODING=utf-8
bis zum Ende voncmder/vendor/init.bat
, hätte das irgendwelche Nebenwirkungen auf Python 3.3 +?
Auch gibt es eine Möglichkeit, unveränderte Python-Skripte zuzulassenprint u'\xc1\xc1'
unter Windows?