在YiiChina
簽到的時候,經常會看到有人在說說里面發群主是最帥的,yii 是 PHP 最好的框架,沒有之一
,就想到使用一言,在每天簽到的時候也發一句話
同時使用方糖將內容推送到微信,防止有什么不對的內容,方便上去修改
昨天晚上抽空搞得時候,發現報錯了:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
再三確認文件頭含有# coding=utf-8
,沒問題啊
經過搜索,發現應該是因為Python2.x
的默認編碼是ascii
,而代碼中可能由utf-8
的字符導致,解決方法是設置utf-8
使用Python
自帶模塊sys
修改編碼
sys.getdefaultencoding() # 獲取系統當前編碼,一般默認為 ascii sys.setdefaultencoding() # 設置系統默認編碼
所以在代碼中的import
后增加下面幾行代碼:
import sys
if sys.getdefaultencoding() != 'utf-8': reload(sys) sys.setdefaultencoding('utf-8')
加了一個reload(sys)
是因為Python2.x
初始化后會刪除sys.setdefaultencoding
這個方法,我們需要重新載入