2016-08-21 87 views
1

当我使用utf-8时,我webview中的字符被破坏。它在黑色钻石背景上显示问号。当我使用其他编码时,它们会出现乱码。我试着从this thread的解决方案,我的代码看起来像Android webview葡萄牙文字符

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)字符出现乱码。

回答

1

您可以使用HTML代码保存在XML,但是,这主要是没有必要,如果他们是在UTF-8符号,实际字符也会做:

<string name="my_string">&#65;</string> 

或者,你可以调用的setText ()与TextView的统一:

textView.setText("\u266b"); 

在这里,这将帮助你更: 2个网站,我个人使用在冰岛写,你RAE寻找每一个字符列在其中

Characters table website 1

Characters table website 2