Я отправляю почтовые запросы в API RESTful через запросы Python, и иногда я получаю следующую ошибку в операциях r.text, r.content andrequests.utils.get_unicode_from_response (r).
Я использую python3.
r:
r = requests.post(...)
и сообщение об ошибке:
'ascii' codec can't encode character '\u015f' in position 133: ordinal not in range(128)
(информация \ символ и позиция изменяются при разных запросах, но остальная часть сообщениято же самое.)
Я попытался извлечь информацию о кодировке после ответа, и все они говорят мне, что кодировка находится в utf-8, но я не могу декодировать ответ, и я не могу понять, почему utf-8 кодированных байтов получают ошибку ascii (в отличие от ошибки utf-8).
Вот методы, которые я попытался выяснить, метод декодирования:
>>> r.encoding
>>> utf-8
>>> chardet.detect(r.content)
>>> {'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
>>> r.headers
>>> {... 'Content-Type': 'application/json; charset=utf-8 ...}
Как следуетЯ декодирую сообщения?