私は2つのMySQLデータベース(UTF-8)、両方のデータベースを同期するJavaコード(Timer Service)第2のデータベースにロードされたデータを修正することを可能にするウェブアプリケーションとを含む。JDBCコネクタを使用してMySQLからJavaからUTF-8データを読み書きする際の問題5.1
私のJavaコードは、最初のデータベースからデータを読み取ると、すべてのデータベース・アクセスは
のiBATISを使って作られた(しかし、私は、私はJDBC、PreparedStatement
sおよびResultSet
Sを使用して同じ問題を抱えていることを検出)されて、私は'ó'
ときのような文字を取得実際は'ó'
である必要があります。このデータは、2番目のデータベースに変更を加えることなく失われます。
その後、Webアプリケーションでロードされたデータが表示されると、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
にもかかわらず、範囲外の文字が表示されます。私は...
new String(data.getBytes("UTF-8"));
を使用してデータをデコードした場合
...私は正しく文字(O)を可視化します。しかし、Webアプリケーションフォームを使用してデータを変更すると、データベースがUTF-8であり、接続文字列がcharacterEncodingを使用していても、2番目のデータベースのUTF-8でデータが更新されないため、 characterSetResultsおよびuseUnicodeパラメータ)。私は、次のデータベース設定を取得し、私のJavaコードから
:
character_set_client-->utf8
character_set_connection-->utf8
character_set_database-->utf8
character_set_filesystem-->binary
character_set_results-->utf8
character_set_server-->latin1
character_set_system-->utf8
character_sets_dir-->/usr/local/mysql51/share/mysql/charsets/
character_set_serverの設定を変更することはできませんし、私は私が間違っているのかわかりません!
JDBCコネクタ(mysql-connector-java-5.1.5-bin.jar
)を使用してMySQLからUTF-8データを読み取るにはどうすればよいですか?
最初のデータベースからのデータの読み取りまたは2番目のデータベースへの書き込みに問題がありますか?
が存在する必要があります。 UTF-8の後。 –
@ScottChu申し訳ありませんが、私はあなたのコメントを理解していません。 – erickson