python設置utf-8為默認編碼
阿新 • • 發佈:2017-08-25
tom posit clas python安裝 unicode 知識 默認 port 系統默認
當使用Python編程時,編碼問題一直很讓人頭疼,程序中經常會碰到如下錯誤提示:
UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position 1: ordinal not in range(128)
這是由於python在安裝時,默認的編碼是ascii,當程序中出現非ascii編碼時,python的處理常常會報上面的錯誤。
對於上面問題,一般有2種處理方法:
方法1:
在python代碼開頭加上如下代碼塊:
[python] view plain copy
- import sys
- reload(sys)
- sys.setdefaultencoding(‘utf8‘)
這種方法是臨時的,只在程序執行時生效,系統默認編碼並沒有改變。
方法2:
python安裝時默認編碼是ascii,通過sys.getdefaultencoding()可以查看默認編碼。為了一次性解決問題,我們可以修改python的默認編碼。具體操作如下:
第一步:
在python安裝目錄的Lib\site-packages文件夾下新建一個sitecustomize.py文件
第二步:
在sitecustomize.py填寫如下代碼
- # encoding=utf8
- import sys
- reload(sys)
- sys.setdefaultencoding(‘utf8‘)
第三步:重啟python,通過sys.getdefaultencoding()查看默認編碼,這時結果為‘utf8‘
python設置utf-8為默認編碼