我知道这似乎是一个应该被问到的愚蠢问题,但我没有发现这个问题只是被问及回答。
我的清单在第一行:
<?xml version="1.0" encoding="utf-8"?>
如果我有xml布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/text_target"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"
android:layout_margin="10dp"
android:text="" />
</LinearLayout>
和java代码:
TextView question = (TextView) findViewById(R.id.text_target);
String text = "Lorsqu'ils sont utilisés, les accents peuvent être un plus à apporter à leur texte.";
question.setText(question.setText(Html.fromHtml(text)));
显示:
你知道如何显示重音吗?
答案 0 :(得分:3)
当java源文本采用某种非ASCII编码时,编辑器和javac编译器需要使用相同的编码。
第一项检查是使用u-escaped特殊字符:尝试\ u00e9而不是é,看看编辑器是否使用了编译器以外的其他编码问题。
在上面的一个char成为占位符char。这意味着编辑器可能使用Windows Latin-1(典型的法语),而javac使用的是UTF-8。
两者应始终如一。而对于国际化目的,UTF-8是最好的。
然后需要转换java源代码。像Notepad ++或JEdit这样的程序员编辑可以做到这一点。还有java工具native2ascii
native2ascii -encoding Cp1252 X.java X-a.java
native2ascii -reverse -encoding UTF-8 X-a.java X.java
第一个u-escape所有特殊字符,第二个产生UTF-8字符。
答案 1 :(得分:1)
发生这种情况是因为您将此文本设置为英文文本,并且模拟器将其识别为仅英文,并且他不能理解的单词打印为给定。
为避免您将此文本的字体设置为此处显示的语言。此问题是由于单编码格式
答案 2 :(得分:0)
你必须设置字体。 fontTextView.setTypeface(MFACE);
答案 3 :(得分:0)
如果您在不同的区域设置中使用某些字符会得到奇怪的结果,请确保您不使用不支持这些字符的字体。回退不使用字体(不要调用setTypeface)并测试那种方式。
答案 4 :(得分:0)
这对我有用:
myVariable.setText("% de usuarios que dicen que regresar"+Html.fromHtml("á")+"n ("+Integer.toString(productDetail.surveyresponses)+" respuestas)");
我可以使用HTML的á
来生成所需的á
。