現象:
用JDBC將中文字段插入MySQL數據庫中,而後打開表發現,那些字段都是"??",或者是亂碼.
緣由:
1.因爲建立數據庫時指定默認的編碼方式爲utf8。
2.Client端字符集爲gbk.
3.進行jdbc連接時使用了不匹配的字符集。
解決辦法:
1.建立數據庫時將數據庫的缺省字符集指定爲gbk。建議用工具(如phpmyadmin等)
2.修改Client默認字符集爲gbk。windows下在mysql安裝目錄下找到my.ini,將裏面的default-character-set=utf8改成default-character-set=gbk,而後重起mysql服務便可將數據庫默認字符集改成gbk.此時應該在mysql命令行用\s命令檢查一下看是否改好了。
3.修改jdbc的連接,將原來的
jdbc:mysql://localhost:3306/demo
改成
jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=GBK php