1. 程式人生 > >python設置utf-8為默認編碼

python設置utf-8為默認編碼

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
  1. import sys
  2. reload(sys)
  3. sys.setdefaultencoding(‘utf8‘)

這種方法是臨時的,只在程序執行時生效,系統默認編碼並沒有改變。

方法2:

python安裝時默認編碼是ascii,通過sys.getdefaultencoding()可以查看默認編碼。為了一次性解決問題,我們可以修改python的默認編碼。具體操作如下:

第一步:

在python安裝目錄的Lib\site-packages文件夾下新建一個sitecustomize.py文件

第二步:

在sitecustomize.py填寫如下代碼


  1. # encoding=utf8
  2. import sys
  3. reload(sys)
  4. sys.setdefaultencoding(‘utf8‘)

第三步:重啟python,通過sys.getdefaultencoding()查看默認編碼,這時結果為‘utf8‘

python設置utf-8為默認編碼