У меня есть приложение Django, используя tasypie для сериализации некоторых данных.json serialization вывод символов с акцентом неправильно, python/django
Существует имя
"Glòria"
(с ударением «о») в базе данных, но это не сериализации правильно. В JSON производимого tasypie, он выходит как
"Glòria"
Класс сериализатору выглядит следующим образом:
import json as simplejson
class PrettyJSONSerializer(Serializer):
json_indent = 2
def to_json(self, data, options=None):
options = options or {}
data = self.to_simple(data, options)
return simplejson.dumps(data, cls=json.DjangoJSONEncoder,
sort_keys=True, ensure_ascii=False, indent=self.json_indent)
Изменение атрибута на simplejson.dumps к
ensure_ascii=True
возвращает следующие:
"Gl\u00f2ria"
Это Python 2 или 3? Если это Python 2, это имя, представленное объектом 'str' или' unicode'? – patrys
Python 2.7, его сохраненный как unicode внутри, отладчик показывает: u'Gl \ xf2ria ' –
Версия '' Gl \ u00f2ria' 'фактически является действительным JSON-представлением 'Glòria'. Вы уверены, что проблема с 'security_ascii = False' связана с сериализатором, а не с клиентом? – patrys