python 学习中的问题:
上一篇 /
下一篇 2014-01-20 14:04:15
乱码原因:
因为你的文件声明为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)
---------------------------------------
# coding=utf-8
#!usr/bin/python
-
---------------------------------
因为不小心把编码修改为CP936了 所以用coding=utf-8的时候打印乱码, 所以现在只需要写下边的就可以了
# coding=cp936
#!usr/bin/python
==========================================================
在执行python脚本时报如下错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)
解决方法:
在python脚本中开头处加上以下两句代码即可:
- reload(sys)
- sys.setdefaultencoding('utf8')
收藏
举报
TAG: