在WebView(Android)中设置字符
|
我正在尝试使用loadData()方法在WebView中显示Java字符串中的一些数据:
wv.loadData(myString, \"text/html, \"utf-8\");
我遇到的问题是WebView会破坏非ASCII(我假设吗?)字符的输出。如果我使用TextView而不是WebView,则不会发生此问题,并且文本可以正确显示(尽管涉及一些HTML标记,因此最终不希望使用TextView)。
如果有帮助,当我运行以下代码时:
for(int i = 0; i < myString.length() && i < 400; i++)
Log.i(\"Text\", myString.charAt(i) + \": \" + (int) myString.charAt(i));
冒犯性的字符将在日志中显示为:
05-27 13:15:45.110:INFO / Text(606):â:8217
我认为这是一个字符集问题,但是我不太确定如何解决它。
这是HTML的摘要(我不确定我的雇主是否允许内容的完整发布):
突尼斯总理
造成问题的是“字符”。注意:我要显示的不是完整的HTML页面。如果有问题,则只是带有HTML标记的文本。
没有找到相关结果
已邀请:
2 个回复
炉挤仙挟
就我而言,我将null用作编码变量,它可以正常工作(Android 4.2.1)。阅读关于loadData()的API文档;它似乎表明它将接受\“ base64 \”,而所有其他值将导致data参数被视为URL编码的ASCII。 因此,您不能使用encoding参数设置字符串的编码,必须在mime类型中指定编码。
爆山
或者,如果这样不起作用:
或两者结合。其中之一通常对我有用。