1

クライアント/サーバー アプリケーションをビルドしたい。クライアントは android (2.2) アプリケーションで、サーバーは tomcat Java サーバー、IDE は Eclips です。

サーブレットを使用してサーバーからクライアントにアラビア語のデータを送信したいのですが、ここ でこの質問を見つけました。これは非常に役に立ちますが、私の問題は、これを使用したときです。

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

それはうまく機能し、そのアラビア語を印刷しますが、アラビア語データを印刷すると、次のようにサーバーから取得されます。

info.setText(Farsi.Convert(results[0]));

それは奇妙な英語の単語を出力するので、問題はサーバーからクライアントへのデータの送信にあるのでしょうか、それとも別の場所にあるのでしょうか?

問題を知るのに役立つかもしれません

  1. サーバーのコンソールにアラビア語のデータを印刷でき、うまく機能します
  2. データはmysqlから来ており、フィールドはutf8_unicode_ci
  3. 次のようにサーブレットを使用して、サーバーからクライアントにデータを送信します。response.setCharacterEncoding("UTF-8");response.setHeader("Info", word);

助けてください!! このアプリケーションは私の卒業プロジェクトであり、アラビア語をサポートする必要があるためです。

ありがとうございました

4

1 に答える 1

0

私のポイント - アラビア語にはヘッダーを使用しないでください。代わりに応答本文を使用してください。

ここに隠されている理由 - デフォルトでは、デフォルトのシステム エンコーディングを使用する java.lang.String コンストラクタであり、UTF-8 エンコーディングではない可能性があります。UTF-8エンコーディングを手動で指定するバイト配列から文字列を作成する必要がありますが、ヘッダーを使用している場合、これは不可能です。

于 2012-08-31T09:55:23.900 に答える