在windows下用notepad++编辑python脚本,并用python命令运行,发现运行结果里中文显示为乱码。
乱码原因:
因为脚本中声明的编码方式为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)