Невозможно кодировать/декодировать вывод pprint

Этот вопрос основанный на побочном эффекте того .

Все мои файлы .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 в разные кодировки, но безуспешно.. , Как лучше всего решить эту проблему

17
задан Community 23 May 2017 в 11:54
поделиться