Я борюсь с отображением строки HTML в Android WebView.
На стороне сервера я загрузил веб-страницу и экранировал символы и кавычки HTML (я использовал Python):
my_string = html.escape(my_string, True)
На стороне клиента Android: строки не экранируются:
myString = StringEscapeUtils.unescapeHtml4(myString)
webview.loadData( myString, "text/html", "encoding");
Однако веб-просмотр просто отображает их как буквальные строки. Вот результат:
Изменить: я добавляю исходную строку, возвращаемую со стороны сервера:
ссылка rel = & quot; значок касания яблока & quot; размеры = "114x114" href = & quot; /static/favicon/apple-touch-icon-114x114.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "72x72" href = & quot; /static/favicon/apple-touch-icon-72x72.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "144x144" href = & quot; /static/favicon/apple-touch-icon-144x144.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "60x60" href = & quot; /static/favicon/apple-touch-icon-60x60.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "120x120" href = & quot; /static/favicon/apple-touch-icon-120x120.png" & gt; & lt; link rel = & quot; значок касания яблока & quot; размеры = "76x76" href = & quot; /static/favicon/apple-touch-icon-76x76.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "152x152" href = & quot; /static/favicon/apple-touch-icon-152x152.png" & gt; & lt; link rel = "apple-touch-icon" размеры = "180x180" href = & quot; /static/favicon/apple-touch-icon-180x180.png" & gt; & lt; link rel = & quot; icon & quot; type = & quot; image / png & quot; href = & quot; /static/favicon/favicon-192x192.png" размеры = "192x192" & gt; & lt; link rel = & quot; icon & quot; type = & quot; image / png & quot; href = & quot; /static/favicon/favicon-160x160.png" размеры = "160x160" & gt; & lt; link rel = & quot; значок & quot; type = & quot; image / png & quot; href = & quot; /static/favicon/favicon-96x96.png" размеры = "96x96" & gt; & lt; link rel = & quot; icon & quot; type = & quot; image / png & quot; href = & quot; /static/favicon/favicon-16x16.png" размеры = "16x16" & gt; & lt; link rel = & quot; icon & quot; type = & quot; image / png & quot; href = & quot; /static/favicon/favicon-32x32.png" размеры = "32x32" & gt; & lt; meta name = "msapplication-TileColor" content = & quot; # da532c & quot; & gt; & lt; meta name = "msapplication-TileImage" content = & quot; /static/favicon/mstile-144x144.png" & gt; & lt; meta name = "msapplication-config" content = & quot; /static/favicon/browserconfig.xml" & gt; & lt;! - Внешний CSS - & gt; & lt; link rel = & quot; таблица стилей & quot; href = & quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css& quot; & gt; & lt;! - Внешние шрифты - & gt; & lt; link href = & quot; // maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel = "таблица стилей" & gt; & lt; link href = & # x27; // fonts.googleapis.com/css?family=Open+Sans:300,600' rel = & # x27; таблица стилей & # x27; type = & # x27; text / css & # x27; & gt; & lt; link href = & # x27; // fonts.googleapis.com/css?family=Lora:400,700' rel = & # x27; таблица стилей & # x27; type = & # x27; text / css & # x27; & gt; & lt;! - [если lt IE 9] & gt; & lt; script src = & quot; // cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script> & lt; script src = & quot; // cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> & lt ;! [endif] - & gt; & lt;! - CSS сайта - & gt; & lt; link rel = & quot; таблица стилей & quot; type = & quot; text / css & quot; href = & quot; /static/css/style.css" & gt; & lt; link rel = & quot; таблица стилей & quot; type = & quot; text / css & quot; href = & quot; /static/css/glyphicon.css" & gt; & lt; / head & gt; & lt; body & gt; & lt; div class = "контейнер-страница статьи" & gt; & lt; div class = "row" & gt; & lt; div class = "col-md-8 col-md-offset-2" & gt; & lt; h2 & gt; & lt; a href = & quot; quot; href = & quot; /static/css/glyphicon.css" & gt; & lt; / head & gt; & lt; body & gt; & lt; div class = "контейнер-страница статьи" & gt; & lt; div class = "row" & gt; & lt; div class = "col-md-8 col-md-offset-2" & gt; & lt; h2 & gt; & lt; a href = & quot; quot; href = & quot; /static/css/glyphicon.css" & gt; & lt; / head & gt; & lt; body & gt; & lt; div class = "контейнер-страница статьи" & gt; & lt; div class = "row" & gt; & lt; div class = "col-md-8 col-md-offset-2" & gt; & lt; h2 & gt; & lt; a href = & quot;http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html & quot; & gt; Gov. Джерри Браун говорит, что Тед Круз & amp; # 39; Абсолютно неподходящий & amp; # 39; Работа в офисе из-за изменения климата Просмотры & lt; / a & gt; & lt; / h2 & gt; & lt; h4 & gt; Сэм Левин & lt; / h4 & gt; & lt; div class = "article" & gt; & lt; p & gt; Губернатор Калифорнии Джерри Браун (D) заявил в воскресенье, что сенатор от Техаса Тед Круз (R-Техас) "абсолютно непригоден для работы в должности"; из-за его позиции в отношении изменения климата. & lt; / p & gt; & lt; p & gt; & quot; Я только что вернулся из Нью-Гэмпшира, где везде снег и лед. Мой взгляд на это прост: дебаты по этому поводу должны следовать за наукой и должны следовать за данными, и многие паникеры по глобальному потеплению, у них есть проблема, потому что наука их не поддерживает '', Круз & lt; a href = & quot;https://www.youtube.com/watch?v=m0UJ_Sc0Udk & quot; & gt; сказал & lt; / a & gt; на & quot; Поздней ночью с Сетом Мейерсом & quot; на прошлой неделе. & lt; / p & gt; & lt; p & gt; В подтверждение своего утверждения Круз процитировал спутниковые данные, которые показали отсутствие значительного потепления за последние 17 лет. Но рассуждения Круза & lt; a href = & quot; http://www.politifact.com/truth-o-meter/statements/2015/mar/20 / ted-cruz / ted-cruzs-worlds-fire-not-last-17-years / & quot; & gt; был опровергнуты журналом Politifact & lt; / a & gt;, который показал, что у ученых есть достаточно доказательств того, что климат продолжит нагреваться. & lt; / p & gt; & lt; p & gt; "То, что он сказал, абсолютно ложно", - сказал Браун на & lt; a href = "; http: //www.nbcnews. непригодный для бега-n328046 "& gt; NBC" s "Знакомьтесь с прессой". & lt; / a & gt; Он добавил, что & lt; a href = & quot; http://climate.nasa.gov/scientific-consensus/ "& gt; более 90 процентов & lt; / a & gt; ученых, изучающих климат, соглашаются, что изменение климата вызвано деятельностью человека. «Этот человек свидетельствует о таком уровне невежества и прямой фальсификации существующих научных данных. Это шокирует, и я думаю, что этот человек сделал себя абсолютно непригодным для того, чтобы баллотироваться на должность ''. - сказал Браун. & Lt; / p & gt; & lt; p & gt; Браун добавил, что изменение климата имеет & lt; a href = "; http://www.huffingtonpost.com/2015/03/06/california-daught-feb February- record_n_6820704.html? utm_hp_ref = калифорнийская засуха "вызвала засухи в его штате & lt; / a & gt;, а также сильные холода и штормы на восточном побережье. & lt; / p & gt; & lt; p & gt; Хотя Круз, возможно, видел снег и лед повсюду в Нью-Гэмпшире, данные показывают, что в стране действительно наблюдается & lt; a href = & quot; http://www.huffingtonpost.com/2015/02/19/cold-weather- winter_n_6713104.html «& gt; теплее среднего & lt; / a & gt; зима. & lt; / p & gt; & lt; p & gt; Браун критикует Круза за день до того, как сенатор от Техаса собирается объявить & lt; a href = & quot; http://www.huffingtonpost.com/2015/03/22 /ted-cruz-2016_n_6917824.html">президентская кампания & lt; / a & gt ;. & lt; / p & gt; & lt; / div & gt; & lt; div class = "original" & gt; & lt; a href = & quot;http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html& quot; & gt; ПОСМОТРЕТЬ ОРИГИНАЛ & lt; / a & gt; & lt; / div & gt; & lt; / div & gt; & lt; / div & gt; & lt; / div & gt; & lt; script src = & quot; // code.jquery.com/jquery-latest.js"></script> & lt; script src = "/static/js/modal.js" & gt; & lt; / script & gt; & lt; script src = "/static/js/bootbox.min.js" & gt; & lt; / script & gt; & lt; script src = "/static/js/site.js" & gt; & lt; / script & gt; & lt; скрипт & gt; (function (i, s, o, g, r, a, m) {i [& # x27; GoogleAnalyticsObject & # x27;] = r; i [r] = i [r] || function () {(i [ r] .q = i [r] .q || []). push (arguments)}, i [r] .l = 1 * new Date (); a = s.createElement (o), m = s. getElementsByTagName (o) [0]; a.async = 1; a.src = g; m.parentNode.insertBefore (a, m)}) (окно, документ, & # x27; скрипт & # x27;, & # x27; // www. google-analytics.com/analytics.js','ga'); ga (& # x27; create & # x27 ;, & # x27; UA-56257533-1 & # x27 ;, & # x27; auto & # x27;); ga (& # x27; send & # x27 ;, & # x27; pageview & # x27;); & lt; / script & gt; & lt; / body & gt; & lt; / html & gt; "