Wenn ich direkt den Inhalt meiner HTML-Datei und speichern sie in einer Zeichenfolge zu kopieren, zeigen Sie sie dann in Webansicht mit:Nebencharakter in webview
mWebView.loadDataWithBaseURL("file:///android_asset/", myString, "text/html", "UTF-8", null);
alles in Ordnung ist! Ich will Inhalt meiner html-Datei ändern (programmatisch), bevor zur Webansicht Laden, aber wenn ich die HTML-Datei aus dem Asset-Ordner lesen Sie unten Code
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;
}
und dann in webview laden, die Webansicht unerwartet zeigt Charakter (Ich denke, sein Name ist weicher Bindestrich). Ich habe UTF-8 als Zeichensatz in meiner HTML-Datei verwendet. Auch habe ich unten Code zum Entfernen von verwendet, die fehlgeschlagen ist.
myString = myString.replace("�", "");
Wie kann ich entfernen? Danke für jede Hilfe.
Sie können eine HTML-Datei direkt in einem WebView öffnen. Warum musst du es in einen String lesen? –
Mögliches Duplikat von [Bestehende .html Datei mit Android WebView laden] (http://stackoverflow.com/questions/4027701/loading-existing-html-file-with-android-webview) –
Das scheint UTF-16BE Kodierung zu sein , benötigt für den InputStreamReader. –