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

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...