在使用 JsonResponse 进行序列化时,将 json_dumps_params 修改之后,使用 Safari 浏览器显示结果发现结果依旧为乱码
def checkout(request):
user_dict = {'IU': '大宝贝', 'Alex': 19}
# json_dict = json.dumps(user_dict, ensure_ascii=False)
return JsonResponse(user_dict, json_dumps_params={'ensure_ascii': False})
# return HttpResponse(json_dict)
# content_type='application/json; charset=utf-8'
结果如下
{"IU": "澶у疂璐�", "Alex": 19}
而在 Chrome 浏览器中却显示序列化正常,这是由于 Safari 浏览器默认为 GB18030,而非 Unicode,因此只需要加上 content_type='application/json; charset=utf-8'
即可
def checkout(request):
user_dict = {'IU': '大宝贝', 'Alex': 19}
return JsonResponse(user_dict, json_dumps_params={'ensure_ascii': False}, content_type='application/json; charset=utf-8')