2

国際文字を含む Java JDBC を介して mysql DB にデータを挿入しようとしています。

INSERT INTO my_table (`name`, `lat`, `long`, `label`) VALUES('Ädelfors folkhögskola', '57.43611145019531', '15.19722175598145', 'Ädelfors folkhögskola')

このクエリは、mysqlworkbench、phpmyadmin などから直接使用すると問題なく動作しますが、Java JDBC を使用すると、国際文字が完全に文字化けします。

Ädelfors folkhögskola =>  ?��delfors folkh??gskola

私が今まで試した解決策には、

jdbc:mysql://server/database?characterEncoding=UTF-8

Setting - Dfile.encoding=UTF-8
Both my database and table are encoded as utf8 - default collation

これはのダンプです"show variables like '%char%'"

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/share/mysql/charsets/

preparesStatements と通常のステートメントの両方を使用してみました

同様の質問がたくさんあることは知っており、それらのほとんどを参照しましたが、解決策を見つけることができました.

環境に関する情報... OS - Mac osx 10.6.8 IDE - netbeans

ubuntuで実行されているmysql 5.5.23

4

1 に答える 1

0

Java ソースまたはプロパティ ファイルにクエリを入力した場合は、utf-8 エディターを使用しています。
Eclipse を使用している場合 ([設定] > [一般] > [ワークスペース] でテキスト エンコーディングを設定)

于 2013-03-24T09:43:12.000 に答える