最新解决python输出中文乱码的问题

当我们在尝试进行中文输出的时候,基本print出来的情况都是乱码,这个时候应该怎么解决?
网上非常多版本的解决方法都是老旧没有更新,大家尝试过后相信都会报这样一个错误:

TypeError: __init__() got an unexpected keyword argument ‘encoding'

没错,这个原因就是在python3中,json.dumps()中压根就没有encoding这个参数!
下面是它的API,我们可以看下:

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, 
check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

解决方法:
1- python2 版本:利用json.dumps进行转换

import json
s = '哈哈'
print(json.dumps(s, encoding='UTF-8', ensure_ascii=False))

2- python3 版本:直接在写入文件的是否加上encoding这个参数

    with open('filename.json', 'w', encoding="utf-8") as f:
        f.write(json.dumps(dicts, ensure_ascii=False))

上面的dicts就是你要写入的东西.

你可能感兴趣的:(工具)