终极解决方案UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in position 13: ordinal not

又遇到报错:
UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in position 13: ordinal not in range(128)
这个问题遇到多次了了,但都是通过第一个方案解决了,但这次貌似不行了。最终采用了方案三,顺便整理下网上其他方案
第一种方案(90%情况下,大部分帖子都是这个)
一般报错到代码都是自己写到代码,代码上添加

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

第二种方案,引用到包出现错误(未解决我的问题,但有人提到过这种处理方案)
在python的lib\site-packages文件夹下新建一个sitecustomize.py
cat sitecustomize.py #添加如下内容,设置编码为utf8

#encoding=utf8  
import sys
reload(sys) 
sys.setdefaultencoding('utf8')

参考:https://www.cnblogs.com/kevingrace/p/5893121.html

第三种方案 进入python终端,执行如下命令
import sys, codecs, locale; print str(sys.stdout.encoding);
是否时utf8(ubunut系统)
如果不是,比如我的是这个
'ANSI_X3.4-1968'
则修改环境变量PYTHONIOENCODING为utf8
执行:export PYTHONIOENCODING=utf-8

你可能感兴趣的:(技术_编程语言,python,终极,大全)