首页 新闻 搜索 专区 学院

使用hibernate 连接mysql 数据库后出现的乱码问题

0
悬赏园豆:40 [已解决问题] 解决于 2016-12-14 11:55

CREATE TABLE t_user 

(
id INT(20) PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20),
age INT(20),
desc_ VARCHAR(230),
photo TEXT
) DEFAULT CHARACTER SET utf8;
  这里设置默认字符编码

使用hibernate框架后,从在class中执行的添加数据,取出为乱码。该怎么解决?

 

问题补充:

在使用c3p0的连接数据库时可以用这句话

jdbc:mysql://localhost:3306/test?characterEncoding=utf8

但是hibernate 中无法使用并且没有相关属性,网上看有说设置useEnicode 为 true

character =utf-8  这两个属性,试了一下,不行。添加数据是直接报jdbc连接异常。

并且没有在属性提示中找到这两个属性。

李成龙1991的主页 李成龙1991 | 初学一级 | 园豆:79
提问于:2016-12-13 20:30
< >
分享
最佳答案
0

搞的那么麻烦干嘛,只要控制表是utf8就行了,数据库是不是UTF8有什么关系呢。

收获园豆:40
jasondyoung | 菜鸟二级 |园豆:424 | 2016-12-13 21:44

创建表时我做了 默认设置字符为UTF-8 还是不可以 

李成龙1991 | 园豆:79 (初学一级) | 2016-12-14 08:15
其他回答(1)
0

这个问题是因为我在mysql安装的时候,选择编码的时候没有选择utf-8 ,在java群友的帮助下找到了解决的办法。

在mysql 的安装目录bin 下的MysqlInstanceConfig.exe 可以覆盖以前安装的选项,在编码那里选择UFT-8就好了。

 

覆盖之前mysql 的编码 character_set_database  = latin

                              character_set_server = latin

覆盖之后mysql 的编码 character_set_database = UTF-8

            character_set_server = UTF-8

 

李成龙1991 | 园豆:79 (初学一级) | 2016-12-14 11:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册