Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法

例如:

1.使用NotePad++,以默认的“以UTF-8无BOM格式编码”编写:

print "一加一等于二"

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第1张图片

直接运行后CMD报错:

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第2张图片

但是在IDLE中显示正常:

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第3张图片

在文件第一行加入注释:

# _*_coding:utf-8_*_

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第4张图片

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第5张图片

在字符串前加u(Unicode编码):

# _*_coding:utf-8_*_

print u"一加一等于二"

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第6张图片

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第7张图片

2.使用NotePad++,以“以ANSI格式编码”编写:

# _*_coding:utf-8_*_

print u"一加一等于二"

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第8张图片

运行后报错:

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第9张图片

去掉字符串前的u(Unicode编码):

# _*_coding:utf-8_*_

print "一加一等于二"

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第10张图片

运行后正常:

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第11张图片

原因:

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第12张图片

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第13张图片

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第14张图片

经测试运行Python任然有问题。

直接运行Python程序乱码

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第15张图片

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第16张图片

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

Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法_第17张图片

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

你可能感兴趣的:(Windows环境下Python v2.7.9,NotePad++编写程序中涉及中文,执行时CMD中显示乱码的解决办法)