如何在Windows控制台中的python中打印unicode字符串

前端之家收集整理的这篇文章主要介绍了如何在Windows控制台中的python中打印unicode字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Python,Unicode,and the Windows console10个
我正在开发一个可以在多个平台上将多种语言打印到控制台的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支持.

猜你在找的Windows相关文章