解决python2.7 UnicodeEncodeError报错

在跑python脚本的时候有以下报错,
UnicodeEncodeError: 'ascii' codec can't encode characters in position 22-23: ordinal not in range(128)python

排查的时候发现是由于有中文字符致使的,将中文去掉脚本无异常。其实从报错也能够看出来是字符编码的问题,Unicode编码与ASCII编码的不兼容,Python默认环境编码经过下面的方法能够获取:
import sys
print sys.getdefaultencoding()ide

基本上默认都是ascii编码方式,所以Python天然调用ascii编码解码程序去处理字符,当字符不属于ascii范围内,就会抛出异常(ordinal not in range(128))。编码

解决方法:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')code

亲测有效utf-8

相关文章
相关标签/搜索