3
我有一個討厭的問題,這幾天給我一個很難...我想開發一些我自己使用的web服務,目前我正在與我該死的法語口音戰鬥在我的json輸出中正確顯示。輸出json格式良好的口音
這是我的場景:我從我的數據庫中檢索一些行,我把它放在一個字典中。接下來我要做的就是把這個字典傳給json.dumps並輸出結果。
問題是:包含重音符號的字符串呈現爲utf8,因此例如它給了我以下輸出\ u00e9milie(它應該是émilie)。令人沮喪的是,如果我打印每個返回的行,重音將正確地呈現在我的瀏覽器中。
問題:
- 是正常給這種JSON輸出的?
- 我該如何'簡單'將包含口音的字典轉換爲json? (whis對我來說很重要,因爲其他網站將與我的輸出一起工作)
這是我正在運行的測試。
# -*- 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
就像醫生說的...對不起,我明顯的懶惰。我不明白這個參數的目的是什麼。 感謝您提供快速,清晰的答案。 – user296546 2010-05-03 10:07:45
出於好奇你知道爲什麼這不是默認行爲嗎?輸出正確的編碼字符不是它的第一個目的嗎? – user296546 2010-05-03 10:13:01
它們被正確編碼。 JSON規範允許使用轉義符而不是字符本身對字符進行編碼。如果你只允許使用ASCII碼,那麼你必須使用Unicode轉義碼。 http://json.org/ – 2010-05-03 10:48:09