解决Python json.dumps中文字符乱码问题

问题来源

最近在维护Django的web项目,对于文章的关键字列表,打算以CharField来进行存储,例如本文的关键字是:

python, json, 中文乱码

以json格式序列化为字符串["python", "json", "中文乱码"]

但是直接使用json.dumps却发现存储在数据库中的字符串是 `["python", "json", "\\u4e2d\\u6587\\u4e71\\u7801"]

这样就没办法看了

中文乱码

问题原因

json.dumps在默认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符

解决办法

将ensure_ascii默认True修改为False

json.dumps(js, ensure_ascii=False)  

相关主题: