Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法
例如:
1.使用NotePad++,以默认的“以UTF-8无BOM格式编码”编写:
print "一加一等于二"

直接运行后CMD报错:

但是在IDLE中显示正常:

在文件第一行加入注释:
# _*_coding:utf-8_*_

运行后CMD显示乱码,IDLE依然正常:

在字符串前加u(Unicode编码):
# _*_coding:utf-8_*_
print u"一加一等于二"

运行后正常,IDLE依然正常:

2.使用NotePad++,以“以ANSI格式编码”编写:
# _*_coding:utf-8_*_
print u"一加一等于二"

运行后报错:

去掉字符串前的u(Unicode编码):
# _*_coding:utf-8_*_
print "一加一等于二"

运行后正常:

原因:
Windows的命令提示符CMD和WindowsPowerShell默认编码是ANSI,导致对UTF-8编码不能正常显示


网上有种方法使用chcp 65001命令将CMD的默认编码页设置为UTF-8

经测试运行Python任然有问题。
直接运行Python程序乱码

取消# _*_coding:utf-8_*_后报错:

在字符串前加u(Unicode编码),依然报错:

还原CMD默认设置,注册版中删除HKEY_CURRENT_USER\Console项即可。
网友评论