UnicodeDecodeError:python的常见编码问题简单处理

python遇到的UnicodeDecodeError:编码错误处理:


使用python的时候经常会遇见各种UnicodeDecodeError报错,但是去百度的时候,大佬们动不动就是说py不同版本默认编码不同导致错误,然后让再写的脚本里添加注明编码类型的语句。但是python并不是只写脚本就能用的,python是有很多库的,有的时候想要做什么事情必须要安装具有相应功能的python库这个时候遇到编码错误很显然不是可以手动改脚本什么解决的,毕竟这是命令而非脚本文件。这个时候要用的方法很明显是要去改python的配置文件,当然喜欢直接手动实现命令的大佬请忽略这篇记录,只是萌新觉得这样会方便一点,于是把最常用到的方法总结了一下:

另外再说一下萌新觉得有用的小经验:编码错误的分类主要和in postition后面的数字编号有关,至于前面的那个decode byte 0xXX没太大关系,数字编号一样的解决方案基本一样

9号错误: UnicodeDecodeError: 'utf8' codec can't decode byte 0xcd in position 9: invalid continuation byte:

Python 2.7.15\Lib\site-packages目录下面新建一个文件名为sitecustomize.py在里面写上

     import sys

     sys.setdefaultencoding('gbk')

7号错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128):

修改mimetypes.py文件,路径位于python的安装路径下的Lib\mimetypes.py文件。在import下添加如下几行,将编码设置为‘gbk’:

if sys.getdefaultencoding() != 'gbk':
 reload(sys)
 sys.setdefaultencoding('gbk')

也有大佬是在python27/Lib文件夹下的mimetypes.py文件,在253行左右,在default_encoding=sys.getdefaultencoding()前加三行:

If sys.setdefaultencoding()!='gbk':
 reload(sys)
 sys.setdefaultencoding('gbk')
 default_encoding=sys.getdefaultencoding()

或是在manage.py文件上,加上以下代码:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

猜你喜欢

转载自blog.csdn.net/qq_43500877/article/details/89450122