Ваши HTML-данные - это строка, поступающая из Интернета. уже закодирована с некоторой кодировкой. Прежде чем кодировать его в utf-8
, вы должны сначала декодировать его .
Python implicity пытается расшифровать его (вот почему вы получаете UnicodeDecodeError
not UnicodeEncodeError
).
Вы можете решить эту проблему, расшифровав расшифровав свою строку байтов (используя соответствующую кодировку) перед тем, как попытаться перекодировать ее в utf-8
.
* * 1 022 Пример: * 1 023 *
utf8encoded = htmlSource.decode('some_encoding').encode('utf-8')
Используйте правильную кодировку, страница была закодирована в первую очередь, вместо 'some_encoding'
.
У вас есть , чтобы знать, какую кодировку использует строка, прежде чем вы сможете ее декодировать.