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 superiorSe eu definirchcp 65001
, O Python 3.3+ o detecta e funciona bem.
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?