今天在导入自己写的类库之后,一直出现下面的错误
[ ERROR ] Unexpected error: UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 977: ordinal not in range(128)
首先代码的单元测试全部都通过了,并且通过pdb调试也正常输出数据,但是一到加载类库就报上面的错误
import pdb
pdb.set_trace()
由于是编码的错误,就想到是不是python默认为ascii码的问题,然后我在
C:\Python27\Lib\site-packages目录下加了一个sitecustomize.py文件,并设置编码为gb2312:
import sys
sys.setdefaultencoding('gb2312')
于是错误变成如下形式:
[ ERROR ] Unexpected error: UnicodeDecodeError: ‘gb2312’ codec can’t decode bytes in position 976-977: illegal multibyte sequence
因为robotframework本身是支持unicode的,并且编码类型为UTF-8,然后我将gb2312换成utf-8,此时就正常了
sys.setdefaultencoding('utf-8')