国際文字を含む 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