我尝试使用希腊词加载内容字符串。并且这个单词以错误的编码显示。
我使用演示项目CrosswalkDemo,所有项目文件都采用UTF-8编码。我做了以下更改:
1)在文件
中更改了xwalk_core_library的版本\app\build.gradle
compile 'org.xwalk:xwalk_core_library:12.41.296.5'
2)在文件中添加了权限
\app\src\main\AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在文件夹/ mnt / sdcard / html /我有文件NotoSerif-Regular.ttf
并尝试在MainActivity.java文件中执行以下操作:
public class MainActivity extends ActionBarActivity {
private XWalkView xWalkWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xWalkWebView=(XWalkView)findViewById(R.id.xwalkWebView);
xWalkWebView.load(
"file:///mnt/sdcard/html/",
"<html>" +
"<head>" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />" +
"<style>" +
"@font-face {" +
"font-family: 'NotoSerif';" +
"src: url('NotoSerif-Regular.ttf');" +
"font-weight: normal;" +
"font-style: normal;" +
"}" +
"body {font-family: 'NotoSerif';}" +
"</style>" +
"</head>" +
"<body> Test 12345 δοκιμή </body>" +
"</html>");
// turn on debugging
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
}
正确加载字体。但是希腊语“δοκιμή”以错误的编码显示。
使用Android的WebView进行类似的测试是成功的。
正确编码应该怎么做?
感谢。