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项即可。