2014-10-26 34 views
2

Я только узнал, что моя строка json содержит некоторые специальные символы, такие как Pandora ®. И я получаю эту ошибку 'utf8' codec can't decode byte 0xae in position: invalid start byte, когда я использую это:кодек utf8 'не может декодировать байт 0xae в позиции

json.loads(str_to_load) 

я попытался это исправить вопрос:

json.loads(unicode(str_to_load), "ISO-8859-1") 

Видимо, это, кажется, не работает, либо. Как исправить эту проблему?

Файл json слишком большой для загрузки здесь.

+0

ли эту работу: 'json.loads (str_to_load, кодирование = "ISO-8859-1")'? –

+0

@SimeonVisser теперь большой вопрос, он возвращает правильные данные? –

+0

P.S. Любой человек в этот день и возраст, ставящий что-либо в Интернете, который не является UTF-8, должен быть уничтожен. –

ответ

4

Вы можете указать кодировку в json.loads:

json.loads(str_to_load, encoding="ISO-8859-1") 
0

флага ensure_ascii по умолчанию в методе json.dumps() устанавливается в True. Чтобы устранить эту проблему, установите этот флаг Ложные:

json.dumps(unicode(str_to_load), ensure_ascii = False) 
Смежные вопросы

 Смежные вопросы