当我使用utf-8时,我的webview中的字符被销毁。它显示黑钻石背景上的问号。当我使用其他编码时,它们会出现乱码。我尝试过this thread的解决方案,我的代码看起来像
input = assetManager.open("xxx.html");
Integer size = input.available();
byte[] buffer = new byte[size];
input.read(buffer);
text = new String(buffer);
WebSettings settings = webView.getSettings();
settings.setDefaultTextEncodingName("utf-8");
webView.loadDataWithBaseURL("file:///android_asset/",text,"text/html; charset=utf-8", "utf-8",null);
HTML标头
<html ><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="xxxxx">
<title>xxx</title>
<style type="text/css">
@font-face {
font-family: fonttt;
src: url("file:///android_asset/roboto.ttf")
}
body {
font-family: fonttt;
font-size: medium;
text-align: justify;
}
</style>
</head>
我不明白为什么utf-8不起作用以及为什么当我使用其他编码(windows-1252,ISO-8859-1)字符时出现乱码。
答案 0 :(得分:1)
您可以使用html代码将它们保存在xml中,但如果它们采用UTF-8表示法,则通常不需要它,实际字符也会这样:
<string name="my_string">A</string>
或者,您可以在TextView上使用unicode调用setText():
textView.setText("\u266b");
这将有助于您: 我个人用来写冰岛语的两个网站,你所寻找的每一个角色都列在那里