在java中打印阿拉伯字符串

时间:2012-05-21 09:04:22

标签: java eclipse

我正在尝试在java中显示阿拉伯语文本,但它显示垃圾字符(例如:¤[ï߯[î]或有时仅打印时出现问号)。我怎么做它打印阿拉伯语。我听说它与unicode和UTF-8有关。这是我第一次使用语言,所以不知道。我正在使用Eclipse Indigo IDE。

编辑: 如果我使用UTF-8编码,那么“¤[ï߯[î”字符正在变成“?????????”字符。

3 个答案:

答案 0 :(得分:7)

对于初学者,你可以看看here。这应该允许你在它的控制台中创建Eclipse打印unicode(我不知道它是否是Eclipse支持开箱即用而没有任何额外的调整)

如果这不能解决您的问题,您很可能会遇到程序正在使用的编码问题,因此您可能希望以某种方式创建字符串:

String str = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");

这至少对我有用。

答案 1 :(得分:2)

如果您将文本字面嵌入代码中,请确保正确设置项目的编码。

答案 2 :(得分:1)

这适用于Java SE,Java EE还是Java ME? 如果这是针对Java ME的,那么如果使用LWUIT,则必须自定义GlyphUtils。 下载此文件: http://dl.dropbox.com/u/55295133/U0600.pdf 查看unicode编码列表.. 看看这个帖子: https://stackoverflow.com/a/9172732/1061371 在由bernama Alex Kliuchnikau编辑的Mohamed Nazar的答案(帖子)中,  “以下代码可用于在J2ME String s=new String("\u0628\u06A9".getBytes(), "UTF-8");中显示阿拉伯语文本,其中\u0628\u06A9是两个阿拉伯字母的unicode” 看看U0600.pdf文件,我们可以看到Mohamed Nazar和Alex Kliuchnikau举例说明了阿拉伯语中的“ba”和“kaf”字符。

然后你必须考虑的最后一点是:“确保你的UI支持unicode(我的意思是阿拉伯语)字符。” 就像LWUIT不支持unicode(我的意思是阿拉伯语)字符。 如果您的应用程序使用LWUIT,您应该制作自定义代码。