Я получаю JSON с запросами от API (используя Python 3.5), и когда я пытаюсь распечатать (или использовать) JSON, либо response.text, json.loads (...) или response.json(), я получаю UnicodeEncodeError.«UnicodeEncodeError: кодек ascii не может кодировать символ» в Python3
print(response.text)
UnicodeEncodeError: 'ascii' codec can't encode character '\xc5' in position 676: ordinal not in range(128)
JSON содержит массив словарей с названиями стран, и некоторые из них содержат специальные символы, например: (только один словарь в двоичный массив, например)
b'[{\n "name" : "\xc3\x85land Islands"\n}]
Я понятия не имею, почему существует проблема кодирования, а также почему «ascii» используется, когда Requests обнаруживает кодировку UTF-8 (и даже путем установки ее вручную в UTF-8 ничего не меняет).
Редактировать 2: Проблема была в Microsoft Visual Studio Code 1.4. Он не смог напечатать персонажей.
Погрешность гласит, что символ не может быть * кодируется * с ascii - что означает, что проблема не в чтении/декодировании текста, а в кодировке его в байтах (при печати) – janbrohl
Возможный дубликат кодека [UnicodeEncodeError: 'ascii не может кодировать символ u' \ xa0 'в позиции 20: порядковый номер не в диапазоне (128)] (http://stackoverflow.com/questions/994259 4/unicodeencodeerror-ASCII-кодек-косяк-кодирование символов-у-xa0-в-положении-20) –