Suporte ao console unicode Python no Windows

Estou tentando criar um ambiente que permita a impressão de caracteres unicode no Python 2.7 e 3.4, no Windows.

UsandoCmder / ConEmu como terminal, o UTF-8 é totalmente suportado imediatamente.

No entanto, o suporte ao Python não é tão simples.

Python 3.3 ou superior

Se eu definirchcp 65001, O Python 3.3+ o detecta e funciona bem.

Python 2.7

Se eu definirchcp 65001 simplesmente não funciona. Python produz uma linha de erro, enquanto o IPython não funciona.

Aparentemente, especificandoset PYTHONIOENCODING=utf-8 o Python e o IPython funcionam e permite a impressão dealguns caracteres unicode.

Por exemplo, eu posso fazer:

print u'\xc1'

mas eu não posso fazer

print u'\xc1\xc1'

que produz:IOError: [Errno 0] Error

Ainda assim, é melhor que nada, pelo menos a maioria dos programas Python 2.7 seria executada sem modificações.

Minha pergunta é que se eu adicionar

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

até o final decmder/vendor/init.bat, isso teria algum efeito colateral no Python 3.3+?

Além disso, existe alguma maneira de permitir scripts Python não modificadosprint u'\xc1\xc1' no Windows?

questionAnswers(0)

yourAnswerToTheQuestion