2012-07-25 104 views
2

我想通过包含一些国际字符的Java JDBC将一些数据插入到mysql数据库中。MySQL Java国际字符(UTF-8)编码

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%'"

转储3210
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的

的MySQL 5.5.23在Ubuntu

+0

请检查以下文章并查看接受的答案。我相信你需要将连接设置为使用unicode。 http://stackoverflow.com/questions/8433293/how-can-i-insert-arabic-word-to-mysql-database-using-java – 2012-07-25 14:55:57

+0

我已经试过了,我忘了提及jdbc:mysql://服务器/数据库?useUnicode = yes&characterEncoding = UTF-8 – 2012-07-25 16:12:55

+0

@PragatiSureka:你如何获取数据?如果使用JSP,那么什么是编码 – 2012-07-26 05:08:35

回答

0

运行如果您在Java源或属性文件中键入查询你已经使用了utf-8编辑器。
如果您正在使用eclipse(首选项>常规>工作区并设置文本编码)