(轉) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)


更新

更新以后,每次啟動終端會提示,import  sitecustomize failed,原因是 setdefaultencoding 在Python2.5以后刪掉了,因此我們將 sitecustomize.py的文件內容改為:

import sys

reload(sys)  #重新載入

sys.setdefaultencoding('utf-8')

 

啟動終端不會再有錯誤提示,但是在啟動 jupyter notebook的時候,有錯誤,於是又將這個文件的內容更新為:

import sys
reload(sys) # Python2.5 初始化后會刪除 sys.setdefaultencoding 這個方法,我們需要重新載入
sys.setdefaultencoding('utf-8')

str = '中文'
str.encode('gb18030')

在啟動終端時會顯示錯誤,但是啟動jupyter notebook 則可以顯示當前目錄下的中文.最后我將兩個export 語句寫入了.bashrc文件.使用notebook時,保證當前目錄下無中文.

 

我用的方法:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
    如果出現編碼問題:類似錯誤如下UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128),這是由於python2中的編碼bug,需要在python目錄/lib/python2.7/site-packages/中新建一個文件:
    sitecustomize.py,其中包含下列代碼。

    import sys
    sys.setdefaultencoding(‘utf-8’)

    隨后再修改系統默認編碼:
    export LANG=en_US:UTF-8
    export LANGUAGE=en_US:en
    cd your work_folder,啟動`jupyter notebook``即可解決
————————————————
版權聲明:本文為CSDN博主「aenjon」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/farphone/article/details/85801266

 

其它方法:

[1]   https://www.jianshu.com/p/516eb2a57ee6

[2]  https://www.cnblogs.com/lcngu/p/7077137.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM