Android打印阿拉伯语单词

时间:2012-06-26 16:15:02

标签: android arabic android-2.2-froyo

我想构建客户端/服务器应用程序,客户端是android(2.2)应用程序,而服务器是tomcat Java服务器,IDE是Eclips

我想使用servlet从服务器向客户端发送阿拉伯数据,我发现了这个问题here 它非常有用,但我的问题是,当我使用它时:

info.setText(Farsi.Convert("وليم"));

它运作良好并打印出阿拉伯语单词,但是当我打印阿拉伯语数据时,来自服务器就像这样:

info.setText(Farsi.Convert(results[0]));
它打印出奇怪的英文单词 那么问题可能是从服务器发送数据到客户端,还是在其他地方?

事情可能有助于了解问题

  1. 我可以在服务器上的控制台上打印阿拉伯语数据并且效果很好
  2. 数据来自mysql,字段为utf8_unicode_ci
  3. 我使用servlet将数据从服务器发送到客户端:response.setCharacterEncoding("UTF-8");response.setHeader("Info", word);
  4. 请任何帮助!! ,因为这个应用程序是我的毕业项目,我必须支持阿拉伯语。

    谢谢

1 个答案:

答案 0 :(得分:0)

我的观点 - 你不应该使用标题来表示阿拉伯语单词,而是使用响应正文

这里隐藏的原因 - 默认情况下使用默认系统编码的java.lang.String构造函数,它可能不是UTF-8编码。您应该从字节数组中手动​​创建指定UTF-8编码的字符串,但在使用标题AFAIK时这是不可能的。