在python项目的文件开头会有# -*- coding: utf-8 -*-的一段代码
这是因为PY文件当中是不支持中文的,即使你输入的注释是中文也不行,
为了解决这个问题,就需要把文件编码类型改为UTF-8的类型,输入这个代码就可以让PY源文件里面有中文了。
但是当保存的python文件的编码格式是GBK的时候会和上面注释定义的编码格式不同,导致输出乱码
因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题
解决方法:
1.直接使用 u'是' 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法,建议写上#coding,因为要让操作系统编码和源文件编码经常会不一样。推荐使用这种方式
2.输出时指定解码方法 print '是'.decode("utf8") ,必须和保存的编码一致,忽略#coding的定义
3.将#coding 和保存编码改为和操作系统一样的编码,就可以直接print '是' 正常输出,也不推荐,因为需要事先知道操作系统编码,复制到其他电脑上,操作系统编码不一样就会出错
#coding=utf-8
print u'是' #方法1
print '是'.decode("utf-8") #方法2
print '是' #方法3
python中文乱码
最新推荐文章于 2018-12-26 17:37:03 发布