gpt4 book ai didi

json - django rest-framework api 和 unicode 字符

转载 作者:行者123 更新时间:2023-12-05 00:24:28 25 4
gpt4 key购买 nike

我正在使用 django-rest-framework 为我的应用程序创建一个 api。我的应用程序使用希腊字母作为其模型的值。我已经创建了我的 View 集并使用了 UnicodeJSONRenderer 来返回 json 结果。

class ChapterViewSet(viewsets.ModelViewSet):
queryset = Chapter.objects.all()
serializer_class = ChapterSerializer
renderer_classes = (UnicodeJSONRenderer, )

返回 Json,但浏览器无法识别希腊字母(“Ξ ΟΟΟΞΈΞ΅ΟΞ·”)。在 chrome 的开发控制台上,尽管在网络选项卡上,响应的预览正常显示希腊字母。如何让我的浏览器识别希腊字母?

最佳答案

这是浏览器的问题。
UTF-8 is the default encoding对于 JSON 内容; Django Rest Framework 正在将您的 JSON 正确编码为 UTF-8,但您的浏览器未正确显示它。
如果提供 charset=utf-8,浏览器将正确显示它在内容类型 HTTP header 中。但是,规范定义了 another way of determining the encoding ,所以不应该使用它。 Django Rest Framework 通过不包含它来尊重这一点。
有一个open ticket对于 Chrome 来说,但不幸的是似乎没有人关心。其他浏览器似乎也有同样的问题。另见 this SO question .

关于json - django rest-framework api 和 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26299162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com