Android webview不显示'%'字符

Posted

技术标签:

【中文标题】Android webview不显示\'%\'字符【英文标题】:Android webview not displaying '%' characterAndroid webview不显示'%'字符 【发布时间】:2011-08-31 19:55:53 【问题描述】:

我有一个WebView,使用以下代码:

WebView webView = new WebView(cont);
webView.loadData("Red 20%", "text/html", "utf-8");

显示字符串有问题。但是,如果我从字符串中删除 '%' 字符,它会正确显示。代码有什么问题?如何在WebView 中显示“%”?

【问题讨论】:

【参考方案1】:

简单:

WebView webView = new WebView(cont);
webView.loadData("Red 20%", "text/html", "utf-8");

您可以在此处查看特殊字符: http://www.degraeve.com/reference/specialcharacters.php

【讨论】:

【参考方案2】:

URL 编码%

20%25 应该可以解决问题

【讨论】:

【参考方案3】:

更简单的替代方法是使用TextUtils.htmlEncode() 来显示您要显示的字符串。

WebView webView = new WebView(cont);
String s = TextUtils.htmlEncode("Red 20%");
webView.loadData(s, "text/html", "utf-8");

【讨论】:

htmlEncode 无法对其进行编码,以便在 WebView 中显示。但我需要一种可以转换所有此类字符的自动化方法。编码。【参考方案4】:

而不是%,您必须使用它的等价物才能在网络中显示它。实际上它是&#37,因此您的代码应该更改为

webView.loadData("Red 20%", "text/html", "utf-8"); 

【讨论】:

【参考方案5】:

您可以替换“红色 20%”->“红色 20%”

【讨论】:

以上是关于Android webview不显示'%'字符的主要内容,如果未能解决你的问题,请参考以下文章

当数据大小增加到超过 5100 个字符时,Android WebView 不显示

Android webview 在“#”字符后啥也不渲染

WebView 不显示内容

带有乱码 UTF-8 字符的 Android WebView。

Android:如何在webview中呈现html而不显示webview

Android:在 Webview 中显示图像