SQLクエリを表す文字をバイトにデコードするときにUTF-8エンコーディングを使用するようにJDBCドライバーに指示する必要があります。これを行うには、useUnicode=yes
を追加します およびcharacterEncoding=UTF-8
JDBC接続URLへのパラメータのクエリ。
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
それ以外の場合は、オペレーティングシステムプラットフォームのデフォルトの文字セットを使用します。 MySQL JDBCドライバー自体は、クライアント側(JDBCコードが実行される場所)とサーバー側(DBテーブルがある場所)の両方で使用されるエンコーディングを十分に認識しています。 DBテーブルで使用される文字セットでカバーされていない文字は、疑問符に置き換えられます。