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

时间:2015-06-18 20:14:28   收藏:0   阅读:8208

Windows环境下Python v2.7.9NotePad++编写程序中涉及中文,执行时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的命令提示符CMDWindowsPowerShell默认编码是ANSI,导致对UTF-8编码不能正常显示

技术分享

技术分享


 

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

 

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

直接运行Python程序乱码

技术分享

 

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

技术分享

 

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

技术分享

 

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


本文出自 “Hello3389的博客” 博客,请务必保留此出处http://hello3389.blog.51cto.com/1171990/1663154

评论(1
飞翔的萤火虫 2017-05-25 11:53:41
大神,请问C语言遇到这种问题怎么解决
1
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!