[toc]

1.UnicodeDecodeError报错#

在本地win上使用python3调试的程序放到linux 的python2上运行报错

1
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position

经过搜索,发现应该是因为python2.x的默认编码是ascii,而代码中可能由utf-8的字符导致,解决方法是设置utf-8。

解决方案

找到出错的文件,在import后增加下面几行

1
2
3
4
import sys
if sys.getdefaultencoding() != 'utf-8':
reload(sys)
sys.setdefaultencoding('utf-8')

或者

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('utf8')