解决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)