JsonResponse返回中文乱码问题

本文详细解释了在使用Python的JsonResponse返回中文时出现乱码的原因,并提供了有效的解决方案。通过调整ensure_ascii参数为False和设置正确的content_type,可以确保中文字符正确显示。

用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))

修改前:

修改后:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春天的菠菜

一毛两毛也是动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值