我正在尝试通过包含一些国际字符的 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 和普通 Statement
我知道有很多类似的问题,我已经提到了其中的大部分,但可以找到解决方案。
有关环境的一些信息... OS - Mac osx 10.6.8 IDE - netbeans
在 ubuntu 上运行的 mysql 5.5.23