Кодовая страница utf-8 в webView - PullRequest
1 голос
/ 03 августа 2020

Я пытаюсь сохранить HTML из WebView:

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

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

Но у меня проблема: я получаю неправильную страницу HTML. Он имеет Юникод 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 Ответ

0 голосов
/ 03 августа 2020

Используйте encodeURI в функции javascript.

например

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

, затем используйте URLDecoder.

Log.d("mobileSearch", URLDecoder.decode(notify, "UTF-8"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...