(转) 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