Когда я непосредственно скопировать содержимое моего HTML-файла и сохранить его в строку, а затем показать его в WebView с помощью:Нежелательный символ в WebView
mWebView.loadDataWithBaseURL("file:///android_asset/", myString, "text/html", "UTF-8", null);
все в порядке! Я хочу изменить содержимое моего HTML файла (программно) перед загрузкой в WebView, но когда я прочитал HTML-файл из папки активов, используя ниже код
private String loadAssetTextAsString(Context context, String name) {
BufferedReader in = null;
try {
StringBuilder buf = new StringBuilder();
InputStream is = context.getAssets().open(name);
in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String str;
boolean isFirst = true;
while ((str = in.readLine()) != null) {
if (isFirst)
isFirst = false;
else
//buf.append('\n');
buf.append(str);
}
return buf.toString();
} catch (IOException e) {
Log.e("TAG", "Error opening asset " + name);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
Log.e("TAG", "Error closing asset " + name);
}
}
}
return null;
}
, а затем загрузить его в WebView, то WebView неожиданно показывает характер (Я думаю, его название - мягкий дефис). Я использовал UTF-8 как charset в своем html-файле. Кроме того, я использовал ниже код для удаления , который не удался.
myString = myString.replace("�", "");
Как удалить ? спасибо за любую помощь.
Вы можете напрямую открыть HTML-файл в WebView. Зачем вам читать его в String? –
Возможный дубликат [Загрузка существующего .html-файла с помощью веб-обозревателя android WebView] (http://stackoverflow.com/questions/4027701/loading-existing-html-file-with-android-webview) –
Это похоже на кодировку UTF-16BE , необходимый для InputStreamReader. –