CharsetDetector fails to detect correct character encoding when `META` tag says `charset=UTF-16` but it is in fact in `UTF-8`. It is because CharsetDetector puts higher priority on `META` tag over charset detected from content. Reimplement CharsetDetector in reference to WHAT-NG recommendation http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#encoding-sniffing-algorithm Known internally as ARI-3933.