参见英文答案 >
Python,Unicode,and the Windows console10个
我正在开发一个可以在多个平台上将多种语言打印到控制台的python应用程序.
该程序在所有UNIX平台上运行良好,但是在Windows中有错误在命令行中打印unicode字符串.
我正在开发一个可以在多个平台上将多种语言打印到控制台的python应用程序.
该程序在所有UNIX平台上运行良好,但是在Windows中有错误在命令行中打印unicode字符串.
已经有一个相关的线程:
(Windows cmd encoding change causes Python crash)
但我找不到我的具体答案.
例如,对于以下亚洲文本,在Linux中,我可以运行:
>>> print u"\u5f15\u8d77\u7684\u6216".encode("utf-8") 引起的或
但在Windows中我得到:
>>> print u"\u5f15\u8d77\u7684\u6216".encode("utf-8") σ╝ץΦ╡╖τתהµטצ
当这样做时,我成功显示正确的文本与消息框:
>>> file("bla.vbs","w").write(u'MsgBox "\u5f15\u8d77\u7684\u6216",4,"MyTitle"'.encode("utf-16")) >>> os.system("cscript //U //Nologo bla.vbs")
但是,我希望能够在Windows控制台中执行此操作,最好是在我的python代码之外不需要太多的配置(因为我的应用程序将被分发给许多主机).
这可能吗?
编辑:如果不可能 – 我很乐意接受在Windows中显示unicode的一些控制台应用程序的其他建议.一个替代的Windows控制台的python实现
使用不同的控制台程序.以下工作原理是Cygwin中的默认终端仿真器.
>>> print u"\u5f15\u8d77\u7684\u6216" 引起的或
Windows还有其他控制台可供选择,但我尚未评估其Unicode支持.