• 设置utf-8为默认编码


    https://www.cnblogs.com/xqnq2007/p/7429584.html

    当使用python编程时,编码问题一直很让人头疼,程序中经常会碰到如下错误提示:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)

    这是由于python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报上面的错误。

    对于上面问题,一般有2种处理方法:

    方法1:

    在python代码开头加上如下代码块:

    1. import sys  
    2. reload(sys)  
    3. sys.setdefaultencoding('utf8')  

    这种方法是临时的,只在程序执行时生效,系统默认编码并没有改变。

    注意:

    为了防止重新设置默认编码影响原本依赖ASCII编码的程序,Python编译器在启动时特意清除了sys模块的setdefaultencoding方法。如果需要调用,也可以reload(sys),然后就可以看到sys.setdefaultencoding方法了,不过设置之后就是后果自负了。

    经测试,reload后也没有启用setdefaultencoding方法。

    方法2:

    python安装时默认编码是ascii,通过sys.getdefaultencoding()可以查看默认编码。为了一次性解决问题,我们可以修改python的默认编码。具体操作如下:

    第一步:

    在python安装目录的Libsite-packages文件夹下新建一个sitecustomize.py文件

    第二步:

    在sitecustomize.py填写如下代码

    1. # encoding=utf8  
    2. import sys   
    3. reload(sys)  
    4. sys.setdefaultencoding('utf8')  

    第三步:重启python,通过sys.getdefaultencoding()查看默认编码,这时结果为'utf8'

    暂未测试此方法。

     
     
  • 相关阅读:
    [八、精彩实例]15开始制作一款理财应用的主要界面
    antdmobile v2 bug列表
    antdmobile 2.0的bug
    专为Web开发人员设计的跨端框架Hippy
    es6数组方法find()、findIndex()与filter()的总结
    Hippy
    axure7 的密钥
    Griffith 知乎视频播放器
    解决国内不能访问github的问题
    开发者的瑞士军刀「GitHub 热点速览 v.22.04」
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11747710.html
Copyright © 2020-2023  润新知