1、原因

python2.7在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,不过在python3就不会有这样的问题。

2、解决办法

临时解决方法:

代码中加入如下三行
import sys
reload(sys)
sys.setdefaultencoding('utf8')

永久解决方法:

如果不想在每个文件中都加这三行,就在python的Lib\site-packages文件夹下新建一个sitecustomize.py
内容如下:

#encoding=utf8
import sys

reload(sys)
sys.setdefaultencoding('utf8')

这样的话,系统在python启动的时候,自行调用该文件,设置系统的默认编码

或者:

重新编译安装python,将默认编码改为utf8


以上参考:解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11


fevin
1.1k 声望24 粉丝