Encoding Android WebView显示西班牙语字母的菱形问号
我知道以前有人问过这个问题,但我检查了所有的答案,没有为我工作。 我正在从这样的文件中读取htmlEncoding Android WebView显示西班牙语字母的菱形问号,encoding,webview,Encoding,Webview,我知道以前有人问过这个问题,但我检查了所有的答案,没有为我工作。 我正在从这样的文件中读取html StringBuffer fileData = new StringBuffer(); BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(mContentPath)), "UTF-8")); String line;
StringBuffer fileData = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(mContentPath)), "UTF-8"));
String line;
while ((line = reader.readLine()) != null) {
fileData.append(line).append('\n');
}
reader.close();
content = fileData.toString();
webView.loadDataWithBaseURL(null, content, "text/html", "utf-8", null);
然后我像这样加载它
StringBuffer fileData = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(mContentPath)), "UTF-8"));
String line;
while ((line = reader.readLine()) != null) {
fileData.append(line).append('\n');
}
reader.close();
content = fileData.toString();
webView.loadDataWithBaseURL(null, content, "text/html", "utf-8", null);
我试着用
WebSettings settings = webView.getSettings();
settings.setDefaultTextEncodingName("utf-8");
以及将text/html更改为text/html;字符集=UTF-8
但这些都不起作用。有什么想法吗?似乎不是UTF-8: 我用firefox找出了它的编码方式,它显示为西方的。 我将读数的编码改为ISO-8859-1,它显示的几乎和预期的一样,但足够接近我所需要的