ダンプされたデータの表示が表示されています。 JSON_AS_ASCII
を無効にしたので、ASCII互換のUnicodeエスケープではなく、2つのUTF-8バイトが得られます。 JSONはあなたが選んだ表現にかかわらず、UTF-8ですが、通常はデフォルトに固執するのがより安全です。
データを表示するために使用しているものは、バイトをUTF-8ではなくLatin-1として誤って解釈しています。データがUTF-8であることを表示していることを教えてください。正しく表示されます。 JSONからデータをロードすると、それが正しいことがわかります。
from flask import Flask, jsonify, json
app = Flask('example')
app.config['JSON_AS_ASCII'] = True # default
with app.app_context():
print(jsonify('é').data) # b'"\\u00e9"\n', Unicode escape
app.config['JSON_AS_ASCII'] = False
with app.app_context():
print(jsonify('é').data) # b'"\xc3\xa9"\n', UTF-8 bytes
# you're viewing the bytes as Latin-1
print(b'\xc3\xa9'.decode('latin1')) # é
# but it's UTF-8
print(b'\xc3\xa9'.decode('utf8')) # é
# JSON is always UTF-8
print(json.loads(b'"\\u00e9"\n') # é
print(json.loads(b'"\xc3\xa9"\n') # é
ありがとうございますが、私はjsonifyを使用して 'é'を印刷するコードを修正する方法はまだわかりません。 –
修正するものは何もありません。あなたが見ているものは何でも、それを表示するために間違ったエンコーディングを選択していますが、JSONは常にUTF-8です。 UTF-8を選択すると正しいと見えます。データを読み込むと正しいでしょう。 – davidism
Chromeでバイトを表示しています(@ app.route( '/')で定義されたルート)localhost /に移動します –