报错
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)
原因
python2安装时默认的编码是ascii,当程序中出现非ascii编码时,python2的处理常常会报这样的错UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xcf in position 7: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自行更改python的默认编码。常见utf-8、gbk。
解决方案
- 在报错的页面添加代码:
import sys
reload(sys)
sys.setdefaultencoding('utf8')/('gbk')
- 在Python2目录…\Python27\Lib中的mimetypes.py的import之后添加
if sys.getdefaultencoding() != 'gbk':
#根据自己编码需求改
reload(sys)
sys.setdefaultencoding('gbk')