Oll*_*e C 3 android android-webview android-4.0-ice-cream-sandwich
源 HTML 字符串(包括符号)来自 strings.xml 资源文件,并且注定要显示在 WebView 中。我已经在资源中对此进行了测试:
\n\n<string name="MY_STRING">\xc2\xae</string>\nRun Code Online (Sandbox Code Playgroud)\n\n®®失败,项目无法构建。这是将字符串资源推送到 WebView 的代码:
\n\nString html = getString(R.string.MY_STRING);\n((WebView)findViewById(R.id.terms_web_view)).loadData(html, "text/html", "UTF-8");\nRun Code Online (Sandbox Code Playgroud)\n\n我也尝试过这个,但没有帮助:\n webView.getSettings().setDefaultTextEncodingName("UTF-8");
\n\n我将 HTML 字符串推送到 Logcat,它看起来很好 - 它正确显示了符号。那么,如果字符串没问题,并且 WebView 设置为使用 UTF-8,为什么符号无法正确显示?
\n\n更新\n我在其他设备上进行了测试。我只能在 Android v4.04 上的 Galaxy Nexus 上重现此问题。在 Nexus One v2.3.x、Wildfire S(v2.3.x)和 Samsung Tab 10.1(v3.2)上,它运行良好。我更改了问题标题以澄清这是 ICS 问题。
\n字符串资源并非旨在保存任意 HTML,包括任意实体引用。
如果您预先转义它,您可能能够获得任意实体引用来工作:
<string name="MY_STRING">&reg;</string>
Run Code Online (Sandbox Code Playgroud)
IIRC,应该®在您调用 后解码为getString().
在一天结束时,您需要®到达WebView。如果您无法确定使用字符串资源执行此操作的方法,则需要将此值存储在其他位置。
| 归档时间: |
|
| 查看次数: |
6282 次 |
| 最近记录: |