This problem dates back to at least Gingerbread
It seems to have been broken in some form or fashion forever. Issue 1733
Use loadDataWithBaseURL instead of loadData h2>
// Pretend this is an html document with those three characters String scandinavianCharacters = "øæå"; // Won't render correctly webView.loadData(scandinavianCharacters, "text/html", "UTF-8"); // Will render correctly webView.loadDataWithBaseURL(null, scandinavianCharacters, "text/html", "UTF-8", null);
Now the part that is really annoying is that on Samsung Galaxy S II (4.0.3) loadData () works just fine, but testing on Galaxy Nexus (4.0.2) distorts multibyte characters if you don't use loadDataWithBaseURL (). WebView Documentation
Latest Android Versions
Some report a change in the behavior of loadData calls requiring mimeType to include charset=utf-8 .
webView.loadData(scandinavianCharacters, "text/html; charset=utf-8", "UTF-8");
Discussion
The first time I saw this, my boss brought me his phone, an early Nexus, while I was developing at that time on the Samsung Galaxy II, and he appeared in our electronic news feed on his phone, which had a lot of - -ASCII. Thus, it is not only a long time in Android, but also not compatible between device manufacturers. This is the question when you need to program protection.
Cameron Lowell Palmer Mar 06 '16 at 7:17 2016-03-06 07:17
source share