ホームページ >データベース >mysql チュートリアル >MySQL と Java JDBC の相互作用における UTF-8 エンコーディングの問題に対処するには?
MySQL-Java JDBC 相互作用における UTF-8 エンコーディングの問題への対処
2 つの UTF-8 エンコード MySQL データベースを含むシステムでは、データベース アクセスに IBATIS を使用する Java コード、および 2 番目のデータベースのデータを変更する Web アプリケーションでは、文字エンコードに関する問題が発生します。
最初のデータベースからの読み取り
からデータを読み取るとき最初のデータベースでは、予期される「ó」の代わりに「ã 」のような文字が表示されます。これは、Java コードとデータベース間のエンコードの不一致を示唆しています。
2 番目のデータベースへの書き込み
Java コードから 2 番目のデータベースに書き込まれたデータは適切にエンコードされない可能性があり、その結果、 Web アプリケーションでの表現が正しくありません。
エンコーディングの不一致の解決
MySQL 用の JDBC コネクタには、文字エンコーディングを指定するための構成オプションが用意されています。これらのパラメータを接続文字列に追加すると、UTF-8 データを確実に適切に処理できます。
DriverManager.getConnection( "jdbc:mysql://" + host + "/" + dbName + "?useUnicode=true&characterEncoding=UTF-8", user, pass);
アドレス指定文字エンコーディング構成
Java コードから取得されたデータベース設定Character_set_server 値が「latin1」であることを示します。このパラメータは変更できませんが、データの適切なエンコードを妨げるものではありません。
UTF-8 エンコードを保証するための重要な設定は、接続文字列パラメータです:
useUnicode を true に設定し、characterEncoding を UTF-8 に設定することにより、JDBC コネクタに文字データを適切に処理し、UTF を維持するように指示します。データ転送プロセス全体を通じて -8 エンコーディング。これにより、Web アプリケーションと Java コードのデータベースとの対話の両方における文字表現の問題が解決されます。
以上がMySQL と Java JDBC の相互作用における UTF-8 エンコーディングの問題に対処するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。