我想构建客户端/服务器应用程序,客户端是android(2.2)应用程序,而服务器是tomcat Java服务器,IDE是Eclips
我想使用servlet从服务器向客户端发送阿拉伯数据,我发现了这个问题here 它非常有用,但我的问题是,当我使用它时:
info.setText(Farsi.Convert("وليم"));
它运作良好并打印出阿拉伯语单词,但是当我打印阿拉伯语数据时,来自服务器就像这样:
info.setText(Farsi.Convert(results[0]));
它打印出奇怪的英文单词
那么问题可能是从服务器发送数据到客户端,还是在其他地方?
utf8_unicode_ci
response.setCharacterEncoding("UTF-8");response.setHeader("Info", word);
请任何帮助!! ,因为这个应用程序是我的毕业项目,我必须支持阿拉伯语。
谢谢
答案 0 :(得分:0)
我的观点 - 你不应该使用标题来表示阿拉伯语单词,而是使用响应正文。
这里隐藏的原因 - 默认情况下使用默认系统编码的java.lang.String构造函数,它可能不是UTF-8编码。您应该从字节数组中手动创建指定UTF-8编码的字符串,但在使用标题AFAIK时这是不可能的。