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

UnicodeDecodeError:编码错误的python配置文件处理:


使用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")

通过脚本内添加命令方式解决:

6号错误: UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 6: ordinal not in range(128):

在脚本中开头添加以下代码即可

import sys
reload(sys)
sys.setdefaultencoding('utf8')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值