Assume that books are constructed correctly and use chardet as a fallback if it really fails.