[英]Android Encoding for this character set
我正在从网站上获取html文本。 该站点返回如下图所示的字符。 我试图从网站上找到字符集,它找到了<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
在文本视图中设置后,它将在设备上显示输出 :
我尝试了一些编码,但没有影响文本,如下所示:
final Charset windowsCharset = Charset.forName("windows-1252");
final Charset utfCharset = Charset.forName("UTF-8");
final CharBuffer windowsEncoded = windowsCharset.decode(ByteBuffer
.wrap(ne.scrape_detail_article_text.getBytes()));
final byte[] utfEncoded = utfCharset.encode(windowsEncoded).array();
// System.out.println(new String(utfEncoded, utfCharset.displayName()));
String s = "" ;
try {
// String s = new String(utfEncoded, utfCharset.displayName());
//String s = new String(texttoencoding.getBytes("windows-1252"),"UTF-8");
s = URLEncoder.encode(texttoencoding, "windows-1252");
Log.e("LOG", "Encoded >> " + s);
} catch (UnsupportedEncodingException e) {
Log.e("utf8", "conversion", e);
}
TextviewToset.setText(Html.fromHtml(texttoencoding);
TextviewToset.setMovementMethod(LinkMovementMethod.getInstance());
请帮帮我,如何将这些文本编码为UTF-8
并在textview中显示?
提前致谢
看起来您在这里处理HTML实体。 因此,您必须通过以下方式解码HTML实体:
String text = HTML.fromHtml(yourText).toString();
这将为您提供正确的UTF-8字符。 Html.fromHtml()
的文档在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.