解決Hibernate向MySQL資料庫插入中文亂碼問題

奮鬥的小青年_發表於2016-10-30

有時候我們在用hibernate插入中文的字元會出現亂碼情況,如下圖所示。

看到這種情況,第一反應便是應用程式用的字符集合資料庫用的字符集不統一了。我的資料庫用個是mysql的,看一下建表語句。用的是utf8的字元,沒有問題。

CREATE TABLE `Person` (
  `pid` bigint(20) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

既然資料庫的字符集沒有問題,那就是程式的問題了。原來我配置檔案中的connection.url是這麼寫的

jdbc:mysql://192.168.92.137:3306/Person

改為下面這樣

jdbc:mysql://192.168.92.137:3306/Person?useUnicode=true&characterEncoding=UTF8

然後再執行插入,就沒有問題了。

相關文章