Java Android中的特殊字符

Java Android中的特殊字符,java,android,Java,Android,在EditText字段中,我设置西里尔字母表中的值,如АБГ。。一切都很好。 当我尝试设置一些希腊文或任何其他类似的字母时,例如“ʎ”(lambda)、“ƃ”(不确定这是从哪里来的)或“ɟ”。。它显示正方形,如“□ □ □" 这个 字符集是UTF-8,否则它不会显示西里尔字母。。。 关于这种行为有什么想法吗?您能够显示西里尔字母并不能保证您使用的是utf-8。也可能是您使用的是字符集iso-8859-5(http://en.wikipedia.org/wiki/ISO/IEC_8859-5)一般

在EditText字段中,我设置西里尔字母表中的值,如АБГ。。一切都很好。 当我尝试设置一些希腊文或任何其他类似的字母时,例如“ʎ”(lambda)、“ƃ”(不确定这是从哪里来的)或“ɟ”。。它显示正方形,如“□ □ □" 这个

字符集是UTF-8,否则它不会显示西里尔字母。。。
关于这种行为有什么想法吗?

您能够显示西里尔字母并不能保证您使用的是utf-8。也可能是您使用的是字符集iso-8859-5(http://en.wikipedia.org/wiki/ISO/IEC_8859-5)

一般来说,字符的方块表示系统没有匹配的字体来呈现所需的字形。因此,虽然它可能识别字符,但它不知道如何绘制字符。然后我尝试设置Incosolata字体,该字体位于系统(Ubuntu)上在文本编辑器中正确显示字符,而在EditText中显示空白(现在不是正方形)。谢谢。您是如何设置EditText的字符集的?从技术上讲,Java使用Unicode,而不是utf-8。utf-8是一种编码,当从文件中读取或写入文本时会起作用;这在这里不适用。我认为您无法设置EditText的字符集;所有内容都是Unicode。Joachim是正确的;正方形表示字符m我的理解是,您需要使用缺少的字符创建自己的自定义字体。理想情况下,您只需要在字体中定义这些特定字符,然后让系统转到TextView中任何其他字符的默认字体。我不知道这是自动发生的,还是您必须不知何故,我定义了一种“故障转移”字体。Android是Java。Java使用unicode。正方形表示Android内置unicode字体中缺少的字符。