解决Hibernate向MySQL数据库插入中文乱码问题
2016-10-30 21:27
302 查看
有时候我们在用hibernate插入中文的字符会出现乱码情况,如下图所示。
![](http://images2015.cnblogs.com/blog/810457/201610/810457-20161010205848071-605917446.png)
看到这种情况,第一反应便是应用程序用的字符集合数据库用的字符集不统一了。我的数据库用个是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
然后再执行插入,就没有问题了。
![](http://images2015.cnblogs.com/blog/810457/201610/810457-20161010205848071-605917446.png)
看到这种情况,第一反应便是应用程序用的字符集合数据库用的字符集不统一了。我的数据库用个是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
然后再执行插入,就没有问题了。
![](http://images2015.cnblogs.com/blog/810457/201610/810457-20161010210119055-1763674967.png)
相关文章推荐
- 关于hibernate插入数据到mysql数据库中文乱码问题的解决
- 解决Hibernate向MySQL数据库插入中文乱码问题
- 解决hibernate向mysql插入中文乱码问题(更改MySQL字符集)
- 解决hibernate向mysql插入中文乱码问题
- 解决hibernate向mysql插入中文乱码问题(转)
- java程序向mysql数据库插入数据中文 乱码问题解决
- 解决C++连接MySQL数据库插入和获取记录中文字符乱码问题
- 解决hibernate向mysql插入中文乱码问题
- 解决hibernate向mysql插入中文乱码问题(更改MySQL字符集)
- 解决hibernate向mysql插入中文乱码问题
- 解决Hibernate向MySQL插入中文出现乱码的问题
- 使用Hibernate框架操作Mysql数据库时,插入中文字符乱码!已解决!
- java向mysql数据库中插入中文乱码问题解决
- 解决hibernate向mysql插入中文乱码问题(更改MySQL字符集)
- mysql数据库插入中文以及乱码问题解决(统一设置为utf-8)格式
- 解决hibernate向mysql插入中文乱码问题
- hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决
- Java_通过PreparedStatement往MySql数据库插入中文出现'?'乱码问题解决;
- 解决hibernate向mysql插入中文乱码问题
- 解决ubuntu中mysql数据库表名不能为中文,以及插入中文乱码问题