5

Web アプリケーションのバックエンドとして django を使用しています。django経由でjsonデータを送信していますが、うまくいきました。しかし、最近、ASCII 以外のデータを扱うようになり、ASCII 以外の文字の異常な動作に気付きました。私の webapp には、次のようなコードがあります。

def make_json():
  json_string = u{"start_location" : "5802 W 71st St Indianapolis‎ Indiana‎ 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}
  return HttpResponse(json_string, content_type='application/json')

Django には問題はありませんが、ブラウザー (chrome) で表示すると、次のように表示されます。

{"start_location" : "5802 W 71st St Indianapolis‎ Indiana‎ 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}

ここで何か間違ったことをしていますか?Unicode オブジェクトを HttpResponse() に渡す前に utf-8 としてエンコードしようとしましたが、何も変わりません。

助けてくれてありがとう!

4

2 に答える 2

11

私はこれを理解しました。うまくいけば、同じ問題を抱えている人なら誰でもこれをグーグルで検索できます。

解決策は、content_type を次のように変更することです。

return HttpResponse(json_string, content_type='application/json; charset=utf-8')
于 2013-06-17T16:16:33.527 に答える