执行以下python程序
test.py:
# -*- coding: utf-8 -*-
print "Hühnchen"正己人:
00000000 23 20 2d 2a 2d 20 63 6f 64 69 6e 67 3a 20 75 74 |# -*- coding: ut|
00000010 66 2d 38 20 2d 2a 2d 20 0a 0a 70 72 69 6e 74 20 |f-8 -*- ..print |
00000020 22 48 c3 bc 68 6e 63 68 65 6e 22 0a |"H..hnchen".|在Windows7的命令提示符中,使用代码页65001和Lucida控制台字体将导致IOError
$ python test.py
HühnchenTraceback (most recent call last):
File "test.py", line 3, in <module>
print "Hühnchen"
IOError: [Errno 2] No such file or directory为了排除Windows安装的任何副作用,我在一个新的虚拟机中复制了这个问题,具体步骤如下:
36ae90defbad9d9539e649b193ae573b77a71c83)cmd.exe同样的结果:

这里发生了什么事?
发布于 2017-04-15 14:32:22
因此,我可以重新创建此错误的唯一方法是在运行程序之前更改为Lucida并运行chcp 65001命令。根据这篇文章,‘在Windows 8之前,使用代码页65001的输出也会中断’1。如果你只想打印"Hühnchen“或任何来自UTF-8的字符,我认为最好的解决方案就是不要像以前那样从命令行中打印字符。当我在PyCharm CE上运行相同的代码时,它工作得很好,即使当我打开python2.7命令提示符时,它仍然可以正确地打印出来。这似乎是一个非常特殊的问题,应该可以解决。
https://stackoverflow.com/questions/43425717
复制相似问题