我正在将我的一个应用程序翻译成西班牙语,而且我正在使用原始HTML文件的字符编码问题,我正在坚持使用WebView。我在raw-es文件夹中有文件的西班牙语翻译,我正在使用以下函数阅读它:
private CharSequence getHtmlText(Activity activity) {
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.help), "utf-8"));
String line;
StringBuilder buffer = new StringBuilder();
while ((line = in.readLine()) != null) buffer.append(line).append('\n');
return buffer;
} catch (IOException e) {
return "";
} finally {
closeStream(in);
}
}
但是文件中有一个西班牙语字符,当我运行应用程序时,有一个带有问号的菱形,并查看显示HTML的活动。我正在使用以下内容将文本加载到WebView中:
mWebView.loadData(text, "text/html", "utf-8");
我最初是在Microsoft Word中创建的,所以我确定会出现某种字符编码问题,但我不确定如何修复它,Google搜索没有帮助。有什么想法吗?
答案 0 :(得分:12)
不要使用loadData。请改用loadDataWithBaseURL。你会说:
mWebView.loadDataWithBaseURL( null, text, "text/html", "utf-8", null );
答案 1 :(得分:0)
我在法语翻译中遇到了类似的问题,其中带有问号的钻石符号出现在某些角色的位置,包括我逃脱的角色。我通过在Eclipse中打开文件属性并将编码更改为" ISO-8859-1"来解决这个问题。不知道这对西班牙语是否有效。