JDBC インターフェイスを介して UTF-8 文字列を MySQL に正しく書き込む方法
問題:
JDBC インターフェイスを使用して MySQL データベースに UTF-8 文字列を挿入しようとすると、データベース内でデータが正しく表示されません。
背景:
コード提供されているスニペットは、データベースへの接続、テーブルの作成、UTF-8 データを含む行の挿入、挿入されたデータの確認のプロセスを示しています。ただし、出力には、UTF-8 文字が破損していることが示されています。
トラブルシューティング:
1. MySQL 構成エンコーディングの確認:
MySQL 構成ファイル (my.cnf または my.ini) に正しい文字エンコーディング設定が含まれていることを確認します。次のコマンドで設定を確認します:
show variables like 'character%'; show variables like 'collation%';
2.構成ファイルを変更します (必要な場合):
MySQL バージョンに基づいて、次の行を構成ファイルに追加します:
[mysqld] character-set-server = utf8 character-set-filesystem = utf8
OR
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 character-set-server=utf8
3. JDBC 接続の構成:
JDBC 接続を確立するときに、次のパラメータを指定します:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&characterEncoding=UTF-8","user","passwd");
4.冗長なコードの削除:
提供されたコード スニペットに基づいて、コードから次の行を削除することをお勧めします:
query = "set character set utf8"; stat.execute(query);
期待される結果:
これらの変更を実装すると、UTF-8 文字列が正しく書き込まれ、MySQL データベースに表示されるはずです。
以上がJDBC を介して MySQL に正しい UTF-8 文字列を確実に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。