Python 使用JSONResponse管理编码

Python 使用JSONResponse管理编码,python,json,django,character-encoding,serialization,Python,Json,Django,Character Encoding,Serialization,我的问题与Django中的API有关。我有几个对象要序列化,这很好。问题在于重音没有正确编码,例如: L'\u00c9tranger #instead of L'étranger 要显示我以这种方式使用序列化程序,请执行以下操作: serializer = MyClassSerializer(MyObjects, many=True) return JSONResponse(serializer.data) 我的JSONResponse类从HttpResponse扩展而来: 通过在文档中搜索

我的问题与Django中的API有关。我有几个对象要序列化,这很好。问题在于重音没有正确编码,例如:

L'\u00c9tranger #instead of L'étranger
要显示我以这种方式使用序列化程序,请执行以下操作:

serializer = MyClassSerializer(MyObjects, many=True)
return JSONResponse(serializer.data)
我的JSONResponse类从HttpResponse扩展而来:

通过在文档中搜索,我了解到了JSONResponse中的一个可选参数:JSONECODER,但这方面的技术很差

谢谢你的阅读

编辑:

当我这样做时:

打印请求

我仍然有:

"titre": "L\'\\u00c9tranger"
这是我的livre模型:

class Livre(models.Model):
    auteur = models.ForeignKey(Auteur)
    titre = models.CharField(max_length=50)
    genre = models.ForeignKey(Genre)
    publish_date = models.DateField()

    class Meta:
        unique_together = (('auteur','titre', 'publish_date'),)
但它并没有存储在数据库中,在这种情况下,我只是将其用作包装器

当我直接执行填充Livre类的脚本,然后将其提供给真正的API服务(序列化并生成json的服务)时,我有以下几点:

>>>>python book_search.py -s "Albert Camus"
L'Étranger

主要模块只需调用:GoogleBook.searchsearch\u关键字

它是Unicode,怎么了?如果你将在UI或移动设备上呈现,他们将正确地重新设置。我向你展示了我的浏览器输出,错误的是重音没有很好地显示。我真的不明白你在评论wolendranh。@图腾json字符串应该是Unicode字符串,而你上面展示的是LÉtranger的Unicode字符串的表示。尝试在Python shell中打印uL'\u00c9tranger。。。现在你说我向你展示了我的浏览器输出,但你没有解释是哪个浏览器,也没有解释你是如何得到这个输出的——这是浏览器试图呈现原始json内容,还是来自浏览器端的javascript请求并用json数据更新dom?此外,您不会发布任何关于您的模型、自定义序列化程序等的内容。。。至少数据库中的数据还可以吗???谢谢布鲁诺的解释,我现在明白了。我在浏览器中显示原始JSON输出。这还没有解决,但我在更新后的帖子中给了你更多的细节。
>>>>python book_search.py -s "Albert Camus"
L'Étranger