0

nvarcharとして定義された列を持つms sql2000のテーブルがあります

Javaでこのテーブルをクエリすると、この列のデータが次のように取得されます:

يا هلا بالشباب الØÙ„وين يا شباب ا٠شلونكو؟ .

adodb で php を試してみると、アラビア語であるはずのデータが得られます。

しかし、私はphpではなくJavaを使用する必要があります。誰か助けてください。

  • 通常のSQLステートメント「select * from news」を使用します
  • 最新の Microsoft jdbc ドライバー (sqljdbc4.jar) を使用しています。
  • 私はSQLサーバーに直接アクセスできません。
4

2 に答える 2

0

これはエンコーディングの問題のように思えます。Java で適切なエンコーディングを使用してテキストを取得していることを確認してください。明らかにユニコードのいくつかの変種。

于 2009-11-08T15:27:09.337 に答える
0

すべての文字処理ステップ (データの取得、データの変更、データの保存、データの表示など) で、UTF-8文字エンコードを使用していることを確認してください。

クライアント アプリケーションの場合、通常はデータベース テーブルだけを気にする必要があり、必要に応じて JDBC 接続文字列も気にする必要があります。

それが Web アプリケーションの場合は、さらに考慮する必要があります: リクエストとレスポンスのエンコーディング。GET リクエストの場合、これは appserver 設定であり、POST リクエストとすべてのレスポンスの場合は、適切なリクエスト/レスポンス オブジェクトで設定できます。

于 2009-11-08T15:48:53.473 に答える