发布网友 发布时间:2022-04-22 23:54
共5个回答
热心网友 时间:2022-04-09 20:20
因为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=gbk注意:
#coding指明的编码必须和保存的编码一样,不然1,3方法都会产生错误,原因也是保存编码和读取编码不一致。一般IDE能够自动根据#coding保存文件
追问#coding=gbk
热心网友 时间:2022-04-09 21:38
乱码原因:因为你的文件声明为 utf-8,并且也应该是用 utf-8 的编码保存的源文件。但是 windows 的本地默认编码是 cp936,也就是 gbk 编码,所以在控制台直接打印 utf-8 的字符串当然是乱码了。
热心网友 时间:2022-04-09 23:13
python2字符串编码的问题,如果要输出中文可以使用u前缀,这样就可以直接使用了
a = u'你好'这样就可以了
热心网友 时间:2022-04-10 01:04
因为你保存的py脚本编码不是utf-8,所以乱码了。追问什么意思 我在前面声明了啊追答
文件编码。
热心网友 时间:2022-04-10 03:12
试试"as你好啊"呢?