python 中文乱码问题
发布网友
发布时间:2022-04-22 23:54
我来回答
共2个回答
热心网友
时间:2022-04-06 09:01
乱码原因:
因为你的文件声明为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)
热心网友
时间:2022-04-06 10:19
记事本是用utf-8保存你下载了东西的。你下载下来的不是utf-8,保存下来中文当然就乱码了。而gbk和utf-8里英文的编码值都一样,所以不受影响。
一个方法是你留意下目标页面的charset 和 contentType,另一个方法是你复制一个目标页面的字,放cmd里看它的编码长度,以此来判断它的原来编码。