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.

Python 2.7

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?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage