微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在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支持.

原文地址:https://www.jb51.cc/windows/364053.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐