打印包含阿拉伯字符的字符串会导致出现问号。怎么修?

时间:2012-07-29 19:12:36

标签: java encoding arabic

当我在Java中打印包含阿拉伯字符的字符串时,它显示为??????。我该如何解决这个问题?

阿拉伯字符串结果来自BiDi algorithm implementation它应该支持阿拉伯语作为RTL语言

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用

Character.codepointAt(arabicString, 0)

检查字符串是否实际包含阿拉伯语集中的Unicode代码点?

或者你可以使用

Character.UnicodeBlock block =
        Character.UnicodeBlock.of(Character.codepointAt(arabicString, 0));

然后检查block的值是否等于Character.UnicodeBlock.ARABIC

如果String确实包含阿拉伯语代码点,那么输出控制台可能会出现问题。可能您没有可以显示这些代码点的字符的字体。

如果字符串不包含阿拉伯语代码点,那么您将从字符串提供程序中获得意外结果。