有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

webView中的java utf8代码页

我尝试从WebView保存HTML:

button.setOnClickListener(v -> mWebViewHost.evaluateJavascript(
            "(function() { " +
                    "return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');})();",

            notify -> Log.d("mobileSearch", "notify->"+notify)));

但我有一个问题:我得到了一个错误的HTML页面。它有Unicode D/mobileSearch: notify->"\u003Chtml>\u003Chead>\n \u003Cmeta charset=\"utf-8\">\n\n \u003Cmeta charset=\"utf-8\">\n \u003Cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n

如果我在浏览器中使用这段代码,它就会正常工作。我该怎么修


共 (1) 个答案

  1. # 1 楼答案

    在javascript函数中使用encodeURI

    比如

    "encodeURI(document.getElementsByTagName('html')[0].innerHTML)"
    

    然后使用URL解码器

    Log.d("mobileSearch", URLDecoder.decode(notify, "UTF-8"))