用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码
# 当返回的中文是乱码时,这时由于ascii码的原因,JsonResponse()在初始化的时候使用了json.dumps()把字典转换成了json格式
# 当ensure_ascii是false的时候,可以返回ASCII码的值,否则就会被JSON转义
# 所以含有中文的字典转json字符串时,使用json.dumps()方法要把ensure_ascii参数修改成false
# content_type是指定MIME类型和编码,这样客户端知道主体是什么类型的资源,才能调用相应的插件或内置的程序去处理
# return HttpResponse(json.dumps(bs.data,ensure_ascii=False),content_type='application/json')
# 这个是我把JsonResponse() 写入excel时修改的结果
worksheet_new.write(i, 8, json.dumps(excel_res, ensure_ascii=False))
修改前:
![]()
修改后:
![]()
本文详细解释了在使用Python的JsonResponse返回中文时出现乱码的原因,并提供了有效的解决方案。通过调整ensure_ascii参数为False和设置正确的content_type,可以确保中文字符正确显示。
1016

被折叠的 条评论
为什么被折叠?



