Now that Amazon supports sending ePub files to Kindle ereaders and Kindle apps by email, some people are reporting errors with the formatting after Amazon converts the ePub to Kindle format.
Naturally, most people assume it’s a problem with Amazon’s conversion service, but according to reports on reddit and MobileRead, it’s actually a problem with the ePub file not specifying the proper character encoding.
With this problem things like apostrophes don’t show up properly or they get substituted with weird characters like â€™.
Apparently this happens because the Kindle conversion services defaults to ISO-8859-1 when character encoding isn’t specified in the file. Technically ePubs should be set to UTF-8.
Hopefully at some point Amazon will make it so ePubs default to the proper encoding regardless if the file specifies it or not, but it’s hard telling if that’ll ever happen or not.
In the meantime, the solution is to set the encoding type manually for ePubs that don’t contain this information. You can do so with the “Encode HTML in UTF-8” option using the Modify ePub plugin for Calibre.
I haven’t tested this myself since I don’t use Calibre anymore, but that’s what’s being reported over on reddit and Mobileread so I thought I would share the fix here since some people are encountering the same encoding issue trying to send ePubs to Kindles. Of course you could just use Calibre to convert the ePub to a Kindle format as well, but if you want the book to get added to your Kindle account for syncing and backup you’ll have to use Amazon’s Personal Documents service.
This shouldn’t be a very common problem since most ePubs specify the proper encoding, but it’s something you may come across occasionally. So far the ePubs I’ve sent to my Kindles haven’t had any issues like this.
Update: As noted in the comments below, there’s a handy tool that can help fix issues with ePubs. Additionally, cover images now show up with sent ePubs when using the latest 5.15.1 Kindle software update.