一、问题点
通过JsonResponse返回的接口参数为{"code": 20000, "data": {"product_id": "1230337118523756544", "product_name": "\u54c11582178240", "\u66f4\u65b0\u6570\u636e\u884c\u6570": 1}},放在json.cn中又可以展示为中文:
json.cn解析
二、问题定位:
django查询到的结果,用JsonResponse返回在页面上显示类似于\u54c ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码
三、解决问题
1、无效的解决方案:
在JsonResponse中加入charset="utf-8"
无效的解决方案
2、有效的解决方案
在JsonResponse中加入json_dumps_params={'ensure_ascii':False}
有效的解决方案
结果展示
结果
注:
JsonResponse 为HttpResponse的子类,所以要看源码的同学还是多研究下HttpResponse源码