當使用Python程式設計時,編碼問題一直很讓人頭疼,程式中經常會碰到以下錯誤提示:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
這是由於python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報上面的錯誤。
對於上面問題,一般有2種處理方法:
方法1:
在python程式碼開頭加上如下程式碼區塊:
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編碼怎麼設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!