Python UnicodeEncodeError при чтении файла - PullRequest
0 голосов
/ 16 марта 2019

Я искал часы, чтобы исправить эту ошибку, но ни одно из онлайн-решений не решило мою проблему.

При выполнении этого фрагмента кода на Python 3.6:

# encoding=utf-8
f = open("x.htm", "r", -1, "utf-8", 'ignore') 
s = f.read()
print(s)

Iполучить следующую ошибку: UnicodeEncodeError: кодек 'ascii' не может кодировать символ '\ xfc' в позиции 37: порядковый номер не находится в диапазоне (128)

Я даже не знаю, почему он использует кодек ascii?

Я использую обычный html-файл, содержащий только символы utf-8, также указанные в качестве набора символов в файле (он выглядит нормально при открытии обычным браузером)

Я уже нашел обходной путь:

s = f.read().encode('utf-8').decode("ascii", "ignore")

Проблема до сих пор заключается в потере данных из-за тега игнорирования при использовании тега замены, возникает следующая ошибка:

UnicodeEncodeError: кодек «ascii» не может кодировать символы впозиция 37-38: порядковый номер не в диапазоне (128)

У меня есть обычный HTML-файл, который может корректно декодироваться в utf-8 моим браузером и редактором, я пытаюсь открыть этот файл в python с помощью utf-8 -тогда какая-то ошибка Юникода сАсия происходит?

...