1. 程式人生 > >關於python 中出現 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)的解決辦法

關於python 中出現 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)的解決辦法

由於python預設是ascii編碼

當python嘗試轉換為其他編碼的時候,要先把它轉換為unicode編碼,再轉成目標編碼

但是,Unicode編碼最大隻有128那麼長,因此超出了長度就會報這個錯誤。

方法1:

改變python檔案的預設編碼方式

import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)

方法2:

改變在此環境下所有python檔案的預設編碼方式,在路徑 \python\Lib\site_package 裡,新建一個檔案 sitecustomize.py裡面寫上以下內容,儲存一下。

import sys
sys.setdefaultencoding('utf-8')