1

制作简单的 REST 服务(在 django-simple-rest 上),在第一次迭代计划中只有 GET。一切都很好,但作为回应,我收到了西里尔符号:

>\u041c\u043e\u043b\u043e\u043a\u043e

在我的实验中,我发现了一条线:

recipes_rest = json_serializer.serialize(Post.objects.all())
return HttpResponse(recipes_rest, content_type='application/json; charset=utf8', status=200) 

如果我使用:

recipes_rest = 'some non latin symbols'

一切皆好。但就我而言,http://cooktalks.ru/contacts我找不到解决方案。也许我必须在这一行做些什么(?):

recipes_rest = json_serializer.serialize(Post.objects.all())

更新 如果我使用'xml',一切都很好: contacts = serializers.serialize("xml", Post.objects.all())

4

2 回答 2

1

从这个主题,您是否尝试导入编解码器

于 2013-04-08T16:43:43.660 回答
0

解决了))

阅读这个漂亮的文档:

如果您在 JSON 序列化程序中使用 UTF-8(或任何其他非 ASCII 编码)数据,则必须将 ensure_ascii=False 作为参数传递给 serialize() 调用。否则,输出将无法正确编码。

json_serializer.serialize(queryset, ensure_ascii=False, stream=response)
于 2013-04-09T10:55:01.337 回答