Вам необходимо декодировать данные, которые вы извлекли первыми! С каким кодеком? Зависит от сайта, который вы получаете.
Когда у вас есть юникод и вы пытаетесь закодировать его с помощью some_unicode.encode('utf-8', 'ignore')
, я не могу представить, как это может выдать ошибку.
Хорошо, что тебе нужно сделать:
result = fetch('http://google.com')
content_type = result.headers['Content-Type'] # figure out what you just fetched
ctype, charset = content_type.split(';')
encoding = charset[len(' charset='):] # get the encoding
print encoding # ie ISO-8859-1
utext = result.content.decode(encoding) # now you have unicode
text = utext.encode('utf8', 'ignore') # encode to uft8
Это не совсем надежно, но оно должно показать вам путь.