使用 show variables like 'character%' 查看數據庫的編碼,果然是latin1,意料之中。
如果項目正在測試當中,數據不重要的話,一勞永逸的解決辦法是,使用alert database tuanplus character set utf8 更改數據庫的編碼格式,再重新建表(Hibernate中,指定hibernate.hbm2ddl.auto=create,重新部署項目,hibernate會自動重新建表),查看此時的數據庫編碼,嘿嘿,是utf8了。異常解除。
如果項目中的數據是重要數據的話,還是有解決辦法滴。
使用 alter table address convert to character set utf8 轉換需要插入漢字的數據表編碼為utf8即可(此例中的數據表是address):
事先最好備份數據,以免意外。
感慨一句啊,亂碼問題很頭疼。。