I am publishing an HTML page (a book) to Kindle using kdp.amazon.com and I encountered an encoding problem so I added:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" lang="en">




<meta charset="utf-8"/>

But I am still having the same problem with characters like ' or |. Please see the image attached below.

apostrophe displaying incorrectly

(should be it's)

  • 1
    What do you use to edit the file? Some editors (most notably on Windows and OSX just mangle quotes and other special characters into some (arbitrarily slightly nicer looking) unicode codepoint.
    – Anthon
    Apr 26, 2016 at 11:13
  • Are you testing this using the Kindle reader software? I thought those were pretty common ASCII characters so most fonts should support them. Which font are you using to test this on the ereader software?And are you sure you're using a low-ASCII single quote, and not some extended ASCII single quote? Those are different characters. What's the ASCII decimal value of both of those characters you are having problems with?
    – Bulrush
    Apr 27, 2016 at 15:40
  • Is the image a screenshot from a reader or your editor? Jun 28, 2016 at 15:39

2 Answers 2


Most likely your source files aren't properly encoded. It's not sufficient to add utf-8 charset declarations, you'll need to actually save your source files as utf-8 files. (If you happen to use the old Mobipocket Creator, you'll also need to save all HTML files with a BOM (byte-order mark).

If your source file is an ePub, open and save it with Calibre Editor or Sigil. This'll re-save them with the proper encoding.

If you hand-crafted your book, open all HTML files with Notepad++, change the encoding to utf-8 and re-save them.


I don't have the answer to your question. But here's a very helpful resource which lets you test all kinds of characters and if necessary substitute unicode characters


Two related articles: https://timctaylor.wordpress.com/2013/12/23/kindle-support-for-unicode-pt1-dispelling-a-myth/ and https://timctaylor.wordpress.com/2014/02/24/kindle-support-for-unicode-pt2-how-to-use-unicode/

I'm guessing that these errors are vestiges of a conversion mistake. (Maybe you pasted it from another web page or a word processed doc). If you use a text editor, you can highlight the character giving you problems, do a global replace with whatever you can type in your text editor. Both characters may look the same in your text editor, but they may in fact be different characters when rendered in a kindle. (Occasionally these rendering mistakes may even look fine in a web browser -- verify in Firefox (View -> Text Encoding to switch encoding). Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.