Android上未显示Unicode字符0x25BA

Android上未显示Unicode字符0x25BA,android,unicode,Android,Unicode,我试图在文本视图中显示,但是 <TextView android:id="@+id/arrowright" android:layout_width="20dp" android:layout_height="240dp" android:gravity="center" android:text="\u25BA" android:textSize="14sp" android:textColor="#000000" /> 仅显示一个空矩形。这适

我试图在文本视图中显示,但是

<TextView android:id="@+id/arrowright" android:layout_width="20dp"
        android:layout_height="240dp" android:gravity="center" android:text="\u25BA"
        android:textSize="14sp" android:textColor="#000000" />

仅显示一个空矩形。这适用于其他字符,如“\u2605”


android可以显示的字符集是否有限?

XML不允许您使用
\u
unicode转义、使用正确的编码,可能是UTF-8或使用
&…转义转义


是的,字符受当前字体支持的限制。使用字体浏览器检查所需字符是否受支持。

XML不允许您使用
\u
unicode转义、使用正确的编码,可能是UTF-8或使用
&转义

是的,字符受当前字体支持的限制。使用字体浏览器检查所需字符是否受支持。

尝试在市场上下载,并在开发时将其放在手边。它使用
\uxxx
符号

最后,正如索林所说,请记住(如果您还没有记住的话),
\uxxx
(两个十六进制字节)似乎只在
strings.xml
中工作(并使用
@string/string\u name
格式导入布局)。或者至少它似乎不适用于所有SDK,也不适用于所有环境(在这里,我只是在SDK 2.2上进行了测试,但它不起作用)。为了避免麻烦(文字字符串中间的字符等),我不这样做

由于大多数人从不直接在XML布局中硬编码字符串(本地化问题等),所以这通常不是问题(这就是我使用这种格式的原因)。此外,正如你在上面的应用程序中所看到的,这似乎是Android中逃避不重要字符的首选方式

我个人认为,这就是为什么我没有看到很多人使用
&#int,我想

希望这有帮助

尝试在市场上下载,并在开发时随时准备。它使用
\uxxx
符号

最后,正如索林所说,请记住(如果您还没有记住的话),
\uxxx
(两个十六进制字节)似乎只在
strings.xml
中工作(并使用
@string/string\u name
格式导入布局)。或者至少它似乎不适用于所有SDK,也不适用于所有环境(在这里,我只是在SDK 2.2上进行了测试,但它不起作用)。为了避免麻烦(文字字符串中间的字符等),我不这样做

由于大多数人从不直接在XML布局中硬编码字符串(本地化问题等),所以这通常不是问题(这就是我使用这种格式的原因)。此外,正如你在上面的应用程序中所看到的,这似乎是Android中逃避不重要字符的首选方式

我个人认为,这就是为什么我没有看到很多人使用
&#int,我想


希望这有帮助

任何设备可以显示的字符集都是有限的:如果没有具有指定标志符号的字体,则无法显示。没有任何字体可以完全覆盖整个Unicode规范。但是可以通过编程测试特定字符是否可以通过给定的字体显示?@Patrick:可以,在Android之外(或者使用根Android)。基本上打开字体文件(它是OpenType)并根据OpenType规范()解释表格。例如,此工具就是这样做的:。(当然,还有大量直接编辑字体的应用程序:-)@Joachim:MSOffice通常安装的
Arial Unicode
字体包含大多数Unicode字符。它也相当大,超过20MB。@ccpizza:根据维基百科,最新版本的Arial Unicode定义了50377个字形(或38917个字符)。Unicode标准的6.0版定义了109449个字符。我不会称之为“大多数”。虽然我同意它可能包含大多数人日常需要的大多数字符,但我的基本观点仍然是:没有字体可以提供完整的覆盖范围(这种字体只能有有限的专门用途)。任何设备可以显示的字符集都是有限的:如果没有具有指定字形的字体,那么它就不能显示了。没有任何字体可以完全覆盖整个Unicode规范。但是可以通过编程测试特定字符是否可以通过给定的字体显示?@Patrick:可以,在Android之外(或者使用根Android)。基本上打开字体文件(它是OpenType)并根据OpenType规范()解释表格。例如,此工具就是这样做的:。(当然,还有大量直接编辑字体的应用程序:-)@Joachim:MSOffice通常安装的
Arial Unicode
字体包含大多数Unicode字符。它也相当大,超过20MB。@ccpizza:根据维基百科,最新版本的Arial Unicode定义了50377个字形(或38917个字符)。Unicode标准的6.0版定义了109449个字符。我不会称之为“大多数”。虽然我同意它可能包含大多数人日常所需的大多数字符,但我的基本观点仍然是:没有任何字体可以提供完整的覆盖范围(而且这种字体只能有有限的专门用途)。我可以设置
android:text=“\u2605”
,并正确显示相应的unicode字符。我如何知道使用哪种字体,以及如何设置它?请参阅下面的答案。我相信最实用的方法是让你的智能手机准备好一个Android中的可能值表。请参阅我提到的应用程序。我可以设置
android:text=“\u2605”
,并正确显示相应的unicode字符。我如何知道使用哪种字体,以及如何设置它?请参阅下面的答案。我相信最实用的方法是让你的智能手机准备好一个Android中的可能值表。看看我提到的应用。顺便说一句,我不是那个应用的作者。顺便说一句,我不是那个应用的作者。