我有一个使用WebView并使用WebView.LoadData()渲染html数据的Activity; 它适用于大多数html数据,但如果Html包含像“ &安培; #6 0; p& #6 2; &安培; #6 0;“ WebView无法正确解码html并在WebView中显示html标记。
Althogh我试过这段代码:
for(char c: rssFeed.getDescription().toCharArray()){
switch (c) {
case '#': htmlBuffer.append("%23"); break;
case '%': htmlBuffer.append("%25"); break;
case '\'': htmlBuffer.append("%27"); break;
case '?': htmlBuffer.append("%3f"); break;
case '&': htmlBuffer.append("%26"); break;
case ':': htmlBuffer.append("%3A"); break;
case ';': htmlBuffer.append("%3B") ;break;
case '/': htmlBuffer.append("%2F"); break;
default:
htmlBuffer.append(c);
break;
}
}
但没有帮助。
答案 0 :(得分:0)
尝试使用Base64编码所有内容。以下应该有效:
String content = "html content"; // the html data
String base64 = android.util.Base64.encodeToString(data.getBytes("UTF-8"), android.util.Base64.DEFAULT);
webView.loadData(base64, "text/html; charset=utf-8", "base64");