1

我有一个使用 WebView 并使用 WebView.LoadData(); 呈现 html 数据的活动;它适用于大多数 html 数据,但如果 Html 包含像 "
& # 6 0 ; p & # 6 2 ; & # 6 0;"这样的引号 WebView 无法正确解码该 html 并在 WebView 中显示 html 标记。

虽然我已经尝试过这段代码:

    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;
        }
    }

但没有帮助。

4

1 回答 1

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");
于 2012-09-12T13:27:13.297 回答