jul*_*jul 21 encoding android webview
我正在使用WebView加载一些包含latin-1字符的数据
String uri = Uri.encode(html);
webview.loadData(uri, "text/html", "ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)
显示时,latin1字符将被奇怪的字符替换.
如果我直接在TextView中加载html(只是为了测试),就会正确显示拉丁字符.
有人可以帮忙吗?
谢谢
HTML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- some html -->
</html>
Run Code Online (Sandbox Code Playgroud)
pat*_*ryk 52
myWebView.loadData(myHtmlString, "text/html; charset=UTF-8", null);
Run Code Online (Sandbox Code Playgroud)
这完美的作品,尤其是在Android 4.0,这显然忽略了字符编码中的HTML.
测试2.3和4.0.3.
事实上,我不知道除了"base64"之外的其他值是什么.一些Google示例在那里放置了null.
您应该始终使用UTF-8编码.所有其他字符编码已经过时多年已经过时.
jul*_*jul 34
只有这样,才能有工作,作为评论在这里:
webview.loadDataWithBaseURL("fake://not/needed", html, "text/html", "utf-8", "");
Run Code Online (Sandbox Code Playgroud)
没有URI编码,utf-8 ... loadData错误?
Gök*_*ren 14
String start = "<html><head><meta http-equiv='Content-Type' content='text/html' charset='UTF-8' /></head><body>";
String end = "</body></html>";
webcontent.loadData(start+ YOURCONTENT + end, "text/html; charset=UTF-8", null);
Run Code Online (Sandbox Code Playgroud)
解决问题之一.
我显示©2011,它显示©.
使用以下代码,我已经实现了正确的显示值©2011
webViewContent.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25205 次 |
| 最近记录: |