今天在導入自己寫的類庫之後,一直出現下面的錯誤
[ 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')