Вывод JSON с хорошо сформированными акцентами - PullRequest
3 голосов
/ 03 мая 2010

У меня есть проблема с досадой, которая сейчас доставляет мне неприятности ... Я хотел бы разработать несколько веб-сервисов для собственного использования, и в настоящее время я борюсь с чертовыми французскими акцентами, чтобы они правильно отображались в моих выводах json .

Вот мой сценарий: я извлекаю ряд строк из моей базы данных, которые я помещаю в диктовку. Далее я хочу передать этот dict в json.dumps и вывести результат.

Проблема в том, что строки, содержащие акценты, обрабатываются как utf8, поэтому, например, он дает мне следующую информацию: (должно быть, emilie). Что расстраивает, так это то, что если я напечатаю каждую возвращенную строку, акценты будут правильно отображаться в моем браузере.

Вопросы:

  • Нормально ли давать такой вывод в формате json?
  • Как я могу "просто" преобразовать dict, содержащий акценты, в json? (это важно для меня, так как другие сайты будут работать с моим выводом)

Вот тест, который я запускаю.

# -*- coding: utf-8 -*
from json import dumps as json_dumps
import json

machaine = "une personne émérite"
print(machaine)

output = {}
output[1] = machaine
output[2] = machaine
output[3] = machaine

jsonoutput = json_dumps(output)

print jsonoutput

1 Ответ

5 голосов
/ 03 мая 2010

Точно так же, как документы говорят, передают ensure_ascii=False и кодируют вручную.

...