• Python编码问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(12


    今天安装了PyScripter编辑器,刚要写代码,突然就出现异常:

    <span style="font-size:14px;color:#ff0000;">>>> Traceback (most recent call last):
    File "<string>", line 378, in findModuleOrPackage
    File "<string>", line 367, in find_dotted_module
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)</span>

    python在安装时,默认的编码是ascii。经常出现它无法处理非ascii编码的情况。此时需要手动修改它的编码字符集。

        查询系统默认编码:

        在Shell中,输入python,进入python解释器。
        >>>import sys 
        >>>sys.getdefaultencoding()

        即可。


        如果想设置默认编码: 

        >>>sys.setdefaultencoding('utf8')

        即可把默认编码设置为utf8。

        但是如果重启python解释器,默认编码就又变回ascii了。

        如果希望把系统默认编码永久设置为utf8,则:

        在python的Libsite-packages文件夹下新建一个sitecustomize.py,内容为: 

    # encoding=utf8
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')

    reference:

    http://blog.csdn.net/liuxingyu_21/article/details/27487391

    http://www.cnblogs.com/sislcb/archive/2008/11/26/1341453.html

    http://www.pythonfan.org/blog-3526-1416.html

  • 相关阅读:
    将eclipse的编码设置成UTF-8
    git提交代码时报rejected
    Vue.js
    快速计算进制之间的转换
    android中canvas.drawText参数的介绍以及绘制一个文本居中的案例
    progressbar原始效果
    面试问题总结
    Android Material Design学习日志
    Android进阶之解决RecyclerView notifyItem闪屏问题
    Android TextView行间距解析
  • 原文地址:https://www.cnblogs.com/missie/p/4397957.html
Copyright © 2020-2023  润新知