在我的应用程序中,我从服务器获取一些数据,数据可能包含一些像心脏等的unicode字符。
现在我可以使用unicode格式显示黑心符号,这样
String str = "\u2764";//unicode character for black heart
TextView txtv = (TextView)findViewById(R.id.txtv);
txtv.setText(txtv.getText()+str);
但我正在设置这样的文字:
holder.txt_cardDesc.setText(Html.fromHtml(cardsDataClass.getCarddesc()));
cardsDataClass.getCarddesc()返回“â¥所有即将改变,圣诞节快到了,我们向所有人祈求上帝......”
而且我应该得到'â¥'作为服务的心脏符号。
如何以unicode格式或心形符号显示此特殊字符?
这个格式显示的是哪个格式?它是HTML / XML格式还是Klingonese字符,我对此一无所知。
如何在android中使用Html.fromHtml显示心脏标志?
编辑:从服务中我可能会得到不同的特殊字符,如“'”或“&”但我得到的是“—而不是“'”,“Ã¥”而不是“♥”
有没有办法检查所有文本并在android中显示正确的特殊字符?
编辑2:任何人都可以告诉我如何在这个字符串的位置显示心脏符号和撇号
String desc = "âÂÂ¥heart icon check, €™ apostrophe check";
我已经使用了所有这些程序:
byte[] bytes = desc.getBytes("UTF-8");
String s2 = new String(bytes, "UTF-8"); // Charset with which bytes were encoded
txtv.setText(s2);
final String s2 = new String(desc.getBytes(), "UTF-8");
txtv.setText(s2);
String s2 = URLDecoder.decode(desc, "UTF-8");
txtv.setText(s2);
byte[] data = desc.getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
byte[] data1 = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data1, "UTF-8");
txtv.setText(text);
但它们都没有工作,如何以实际格式显示UTF-8文本格式
由于
答案 0 :(得分:1)
你可能会对Java Character& Android角色。
让你的cardsDataClass.getCarddesc()返回:
“\ u2764很快就会改变,圣诞节快到了,我们向所有人祈求上帝......”
并且心脏应该显示得很好。