Поддержка консоли Python Unicode под Windows

Я пытаюсь создать среду, которая позволяет печатать символы Unicode как в Python 2.7 и 3.4, под Windows.

ИспользуяCmder / ConEmu в качестве терминала UTF-8 полностью поддерживается из коробки.

Однако поддержка Python не так проста.

Python 3.3+

Если я установлюchcp 65001, Python 3.3+ обнаруживает его и работает нормально.

Python 2.7

Если я установлюchcp 65001 это просто не работает вообще. Python выдает строку с ошибкой, а IPython вообще не работает.

Видимо, указавset PYTHONIOENCODING=utf-8 и Python, и IPython работают и позволяют печататьнемного символы Юникода.

Например я могу сделать:

print u'\xc1'

но я не могу сделать

print u'\xc1\xc1'

который производит:IOError: [Errno 0] Error

Тем не менее, это лучше, чем ничего, по крайней мере, большинство программ на Python 2.7 будут работать без изменений.

Мой вопрос заключается в том, что если я добавлю

@chcp 65001 > nul
@set PYTHONIOENCODING=utf-8

до концаcmder/vendor/init.batэто будет иметь какие-либо побочные эффекты на Python 3.3+?

Кроме того, есть ли способ позволить неизмененные сценарии Pythonprint u'\xc1\xc1' под виндой?

Ответы на вопрос(0)

Ваш ответ на вопрос