专栏首页Pythonpython2 UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 7: ordinal not in range

python2 UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 7: ordinal not in range

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。   查询系统默认编码可以在解释器中输入以下命令: python代码   >>>sys.getdefaultencoding()    设置默认编码时使用: python代码   >>>sys.setdefaultencoding('utf8')    可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误。执行reload(sys),再执行以上命令就可以顺利通过。 此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了。   有2种方法设置python的默认编码:   一个解决的方案在程序中加入以下代码:   Python代码   # encoding=utf8    import sys    reload(sys)    sys.setdefaultencoding('utf8')    另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:   Python代码    # encoding=utf8    import sys   reload(sys)    sys.setdefaultencoding('utf8')    此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

https://www.cnblogs.com/walk1314/p/7251126.html

https://blog.csdn.net/u013948858/article/details/77800663

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django比较相等或者不相等的模板语法ifequal / ifnotequal

    ifequal / ifnotequal      在模板语言里比较两个值并且在他们一致的时候显示一些内容,Django提供了 ifequal 和 ifnote...

    用户1214487
  • tar压缩解压缩命令详解

    用户1214487
  • python编码问题一点通

    一、了解字符编码的知识储备   1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)      打开编辑器就打开了启动了一个进程,是...

    用户1214487
  • 数据可视化-EChart2.0.0使用中遇到的2个问题

    之前项目中都是使用FusionChart和HighChart,基本都是没有购买商业许可。然后现在开发的系统需要交付给客户使用。所以现在图表控件不能直接使用Fus...

    八哥
  • [爬虫]Scrapy 错误ordinal not in range(128)

    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb0 in position 1: ordinal ...

    周小董
  • 手把手教你在vue-cli3中配置eslint

    前端老鸟
  • ESLint配置信息完整版

    从入门到进错门
  • ★Kali信息收集~4.DNS系列

    ★.1host:DNS信息 参数: ? 一般情况下,host查找的是A,AAAA,和MX的记录 ? 案例: DNS服务器查询 host -t ns 域名 ? ...

    逸鹏
  • http协议缓存小结

    缓存可以使用expire方式,设置到期时间,缓存的时间等于expire设置的时间减去当前的时间

    windseek
  • HTML <form> 标签的 enctype 属性

    默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 ...

    大道七哥

扫码关注云+社区

领取腾讯云代金券