解决JsonResponse返回中文乱码的问题
#使用 HttpResponse 代替 JsonResponse 解决JsonResponse返回中文乱码的问题
import json
from django.shortcuts import HttpResponse
from django.http import JsonResponse
from databases_models import models
def get(request):
publish_list = models.Publish.objects.all()
bs = MySer.PublishSerializer(publish_list, many=True)
#return JsonResponse(bs.data, safe=False, )
return HttpResponse(json.dumps(bs.data,ensure_ascii=False),content_type='application/json')
# 当返回的中文是乱码时,这时由于ascii码的原因,JsonResponse()在初始化的时候使用了json.dumps()把字典转换成了json格式
# 当ensure_ascii是false的时候,可以返回ASCII码的值,否则就会被JSON转义
# 所以含有中文的字典转json字符串时,使用json.dumps()方法要把ensure_ascii参数修改成false
# content_type是指定MIME类型和编码,这样客户端知道主体是什么类型的资源,才能调用相应的插件或内置的程序去处理
一些事情一直在干,说不定以后就结果了呢
本文来自博客园,作者:chenjianwen,转载请注明原文链接:https://www.cnblogs.com/chenjw-note/p/13733955.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步