1

MYSQL に UTF-8 クエリを要求したいのですが、うまくいきません。次のクエリを試すと、本当に結果が表示されます。

String query = "select * from Terms where Term = 'lol'";

しかし、次のクエリでは応答がありません:

String query = "select * from Terms where Term = 'خدابخش'";

どこ

'خdanابخش'

一部はペルシャ語と UTF-8 です。データベースへの接続は問題ないことに注意してください。

4

2 に答える 2

4

JDBC 接続で文字エンコーディングを設定する必要がある場合があります。MySQL JDBC コネクタを使用している場合は、プロパティ characterEncoding を使用して実行します。ややこのように:

jdbc:mysql://localhost/some_db?useUnicode=yes&characterEncoding=UTF-8

コネクタの JDBC ドキュメントでエンコーディングと文字セットに関するリファレンスを読むことをお勧めします。

これは、MySQL JDBC コネクタの characterEncoding の使用について言及しているものです。

コネクタ JDBC: 文字セットと Unicode の使用

于 2012-10-17T22:47:15.353 に答える
0

次の1つ以上が当てはまります。

  1. コードをコンパイルするJavaコンパイラは、ソースファイルが実際に保存されている別のエンコーディングでソースファイルを読み取るように設定されています。つまり、エディタが使用するエンコーディング、ファイルが実際に保存されるエンコーディング、およびJavaコンパイラがソースコードを読み取るエンコーディングの間に不一致があります。
  2. データベースがUnicode文字を受け入れる/保存するように正しく設定されていません。データベースが正しく設定されていることを確認してください。MySQLを使用しているようです。を使用してデータベースのダンプを作成mysqldumpし、文字セットに関してデータベースがどのように作成されたかを確認することをお勧めします。
于 2012-10-17T22:40:21.370 に答える