我想打印一组Unicode字符到我的命令提示符终端。即使我强制编码为“UTF-8”,终端也会打印一些垃圾。打印unicode字符到标准输出python打印错误的字形
$python -c "import sys; print sys.stdout.write(u'\u2044'.encode('UTF-8'))"
ΓüäNone
$python -c "import sys; print sys.stdout.encoding"
cp437
我的默认终端编码是cp437,我试图重写。这里预期的输出是级分斜杠(/)
http://www.fileformat.info/info/unicode/char/2044/index.htm
的同一段代码完美的作品在我的Mac终端,它使用UTF-8作为默认编码。有没有办法在Windows上显示它?我在Windows命令提示符下使用的字体是consolas。
我希望我的代码能够处理任何Unicode字符,而不仅仅是这个特殊的例子,因为输入是一个Web查询结果,我无法控制它。
有东西在我的后脑勺告诉我,UTF-8和Windows终端将无法轻松地工作 –
我已经接近后放弃通过这个bug http://bugs.python.org/issue1602 – Benny
你可以找到另一个终端程序来工作,而不是Windows的cmd或其他。我听说可以安装mingw并在那里有一个半工作终端。 Otherwiser,只需安装一个虚拟machinne并为我们的开发工具建立一个合适的Linux环境。 – jsbueno