我想通過包含一些國際字符的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%'"
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
請檢查以下文章並查看接受的答案。我相信你需要將連接設置爲使用unicode。 http://stackoverflow.com/questions/8433293/how-can-i-insert-arabic-word-to-mysql-database-using-java – 2012-07-25 14:55:57
我已經試過了,我忘了提及jdbc:mysql://服務器/數據庫?useUnicode = yes&characterEncoding = UTF-8 – 2012-07-25 16:12:55
@PragatiSureka:你如何獲取數據?如果使用JSP,那麼什麼是編碼 – 2012-07-26 05:08:35