当我在Java中打印包含阿拉伯字符的字符串时,它显示为??????
。我该如何解决这个问题?
阿拉伯字符串结果来自BiDi algorithm implementation它应该支持阿拉伯语作为RTL
语言
答案 0 :(得分:0)
您是否尝试过使用
Character.codepointAt(arabicString, 0)
检查字符串是否实际包含阿拉伯语集中的Unicode代码点?
或者你可以使用
Character.UnicodeBlock block =
Character.UnicodeBlock.of(Character.codepointAt(arabicString, 0));
然后检查block
的值是否等于Character.UnicodeBlock.ARABIC
。
如果String确实包含阿拉伯语代码点,那么输出控制台可能会出现问题。可能您没有可以显示这些代码点的字符的字体。
如果字符串不包含阿拉伯语代码点,那么您将从字符串提供程序中获得意外结果。