django HttpResponse 和 unicode

2024-03-06

我使用 django 作为网络应用程序的后端。我通过 django 发送 json 数据,效果很好。然而最近我开始处理非 ASCII 数据并注意到非 ASCII 字符的一些异常行为。在我的网络应用程序中,我的代码如下所示:

def make_json():
  json_string = u{"start_location" : "5802 W 71st St Indianapolis‎ Indiana‎ 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}
  return HttpResponse(json_string, content_type='application/json')

Django 没有任何问题,但是当我在浏览器(chrome)中查看它时,我看到的是这样的:

{"start_location" : "5802 W 71st St Indianapolis‎ Indiana‎ 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}

我在这里做错了什么吗?在将 unicode 对象提供给 HttpResponse() 之前,我尝试将其编码为 utf-8,但它没有改变任何内容。

感谢您的帮助!


我想通了。希望遇到同样问题的人可以google一下。

解决方案是将 content_type 更改为:

return HttpResponse(json_string, content_type='application/json; charset=utf-8')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django HttpResponse 和 unicode 的相关文章

随机推荐