解决Hibernate向MySQL数据库插入中文乱码问题

时间:2023-05-17 22:59:01

有时候我们在用hibernate插入中文的字符会出现乱码情况,如下图所示。

解决Hibernate向MySQL数据库插入中文乱码问题

看到这种情况,第一反应便是应用程序用的字符集合数据库用的字符集不统一了。我的数据库用个是mysql的,看一下建表语句。用的是utf8的字符,没有问题。

CREATE TABLE `Person` (
  `pid` ) NOT NULL,
  `name` ) DEFAULT NULL,
  `sex` ) 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

然后再执行插入,就没有问题了。

解决Hibernate向MySQL数据库插入中文乱码问题