Basicly, I'm crawling text from a webpage with python using Beautifulsoup, then save it as an HTML and send it to my Kindle as a mail attachement. The problem is; Kindle supports Latin1(ISO-8859-1) encoding, however the text I'm parsing includes characters that are not a part of Latin1. So when I try to encode text as Latin1 python gives following error because of the illegal characters:
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position 17: ordinal not in range(256)
When I try to encode it as UTF-8, this time script runs perfectly but Kindle replaces some incompatible characters with gibberish.