如何在WebView中解码HTML引号

时间:2012-09-10 13:34:50

标签: android html android-webview

我有一个使用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;
        }
    }

但没有帮助。

1 个答案:

答案 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");