この質問は、その副作用に基づいています。
私の.py
ファイルはすべて# -*- coding: utf-8 -*-
、私のように最初の行にエンコーディング定義者がありますapi.py
関連する質問で述べたように、私HttpResponse
は API ドキュメントを返すために使用します。エンコーディングを次のように定義したので:
HttpResponse(cy_content, content_type='text/plain; charset=utf-8')
すべて問題ありません。API サービスを呼び出すと、 pprint によって辞書から形成された文字列を除いて、エンコードの問題はありません。
辞書の一部の値でトルコ文字を使用しているため、pprint はそれらをunichr
次のような同等のものに変換します。
API_STATUS = {
1: 'müşteri',
2: 'some other status message'
}
my_str = 'Here is the documentation part that contains Turkish chars like işüğçö'
my_str += pprint.pformat(API_STATUS, indent=4, width=1)
return HttpRespopnse(my_str, content_type='text/plain; charset=utf-8')
そして、私のプレーンテキスト出力は次のようになります:
Here is the documentation part that contains Turkish chars like işüğçö
{
1: 'm\xc3\xbc\xc5\x9fteri',
2: 'some other status message'
}
pprint 出力をさまざまなエンコーディングにデコードまたはエンコードしようとしましたが、成功しませんでした... この問題を克服するためのベストプラクティスは何ですか?