当前位置 博文首页 > python中文乱码的解决方法

    python中文乱码的解决方法

    作者:admin 时间:2021-02-17 15:03

    乱码原因:

    源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了!

    解决方法:

    1、print mystr.decode('utf-8').encode('gbk')
    2、比较通用的方法:

    import sys
    type = sys.getfilesystemencoding()
    print mystr.decode('utf-8').encode(type)

    1. Python中列表或字典输出乱码的解决方法

    问题: Python中的列表(list)或字典包含中文字符串,直接使用print会出现以下的结果:

    #打印字典
    dict = {'name': '张三'}
    print dict
    >>>{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}
    
    #打印列表
    list = [{'name': '张三'}]
    print list
    >>>[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]

    解决方案:
    使用以下方法进行输出:

    import json
    
    #打印字典
    dict = {'name': '张三'}
    print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)
    >>>{'name': '张三'}
    
    #打印列表
    list = [{'name': '张三'}]
    print json.dumps(list, encoding="UTF-8", ensure_ascii=False)
    >>>[{'name': '张三'}]

    2. Python2.7的UnicodeEncodeError: ‘ascii' codec can't encode异常错误

    #重置编码格式
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    js
    下一篇:没有了