我试图通过包含一些国际字符的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和普通语句
我知道有很多类似的问题,我已经提到了大部分问题,但可以找到解决方案。
有关环境的一些信息...... 操作系统 - Mac osx 10.6.8 IDE - netbeans
在ubuntu上运行的mysql 5.5.23
答案 0 :(得分:0)
如果您在java源代码或属性文件中键入了查询,则使用utf-8编辑器 如果您正在使用eclipse(首选项>常规>工作区并设置文本编码)