原文网址:http://zhidao.baidu.com/question/157467188.html
乱码原因: 因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。 解决方法: 在控制台打印的地方用一个转码就ok了,打印的时候这么写: print myname.decode('UTF-8').encode('GBK') 比较通用的方法应该是: import sys type = sys.getfilesystemencoding() print myname.decode('UTF-8').encode(type)
--------------------------------------------------------------------------
你需要的是让编码用实际编码而不是 ascii
1. 对需要 str->unicode 的代码,可以在前边写上 import sys reload(sys) sys.setdefaultencoding('utf8') 把 str 编码由 ascii 改为 utf8 (或 gb18030)
2. python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii
转载于:https://www.cnblogs.com/sunwufan/archive/2013/01/24/2874843.html
相关资源:linux下python中文乱码解决方案详解