最近用Java連MySQL,發現中文會產生亂碼,這個問題主要是編碼的問題,不只是MySQL要有一點小改變,Java連資料庫的程式碼也要改一些東西:
先修改MySQL部份:
修改my.cnf檔案:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
重新啟動MySQL。此後建立的資料庫都會用UTF8編碼
修改JDBC連線方式:
原本連線只是單純的輸入url, username, password。
要用UTF8編碼,要加上以下兩個參數:
useUnicode=true
characterEncoding=UTF-8
為了方便,可以將jdbc連線的設定值寫在一個檔案裡。用Properties來讀取:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/accounting2
user=howard
password=howardgogogo
useUnicode=true
characterEncoding=UTF-8
連線方式就變成ppts.load(new FileInputStream("config.ini"));
Connection conn = DriverManager.getConnection(url, ppts);
2008年5月12日 星期一
Java連MySQL中文亂碼
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言