Python经典问题——中文乱码:打印中文时显示乱码

在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)


你可能感兴趣的:(Python)