Android convert ISO-8859-2 to UTF-8

2019-06-13 20:01发布

问题:

I'm downloading HTML source code of remote page into String variable. Unfortunetely the page is encoded via iso-8859-2 and contains characters from polish alphabet. How can I convert this string to utf-8, so I can display it's parts in TextView?

Thanks

回答1:

You shouldn't need to "convert" the string at all, if you obey the Content-Encoding header sent by the web server.

Right now, you probably ignore that header while reading the response from the server (some BufferedReader-to-StringBuffer/Builder loop I assume), try this in your download code instead:

HttpResponse response = ....
String text = EntityUtils.toString(response.getEntity());

EntityUtils will automagically use the content encoding specified by the server.