啟動hibernate項目,自動創建表,插入數據之后發現寫入表里的數據里的中文是亂碼。按如下方法解決了:
-
修改數據庫的字符集為UTF-8,這個可以通過mysql的客戶端軟件里右鍵要修改的數據庫的屬性更改。
-
修改Client默認字符集為UTF8。windows下在mysql安裝目錄(我的計算機操作系統是Windows 7 64,默認的安裝路徑在:C:\Program Files (x86)\MySQL\MySQL Server 5.0)下找到my.ini,將里面的default-character-set=latin1 改為default-character-set=UTF8,然后重起mysql服務即可將數據庫默認字符集改為utf8。
-
在項目的hibernate的配置文件hibernate.cfg.xml里修改name為“hibernate.connection.url"的property的值為:jdbc:mysql://localhost:3306/tdm?useUnicode=true&characterEncoding=UTF-8,其中tdm為數據庫的名稱。
-
然后啟動項目,執行代碼,插入的中文就不會是亂碼了。