用户名:问答小战我离务希鲜同根坏议井起士2005
关于hibernate链接MySQL时,存储中文出现乱码
采用hibernate框架时,使用MySQL来自**库存储**时,站丝依宁容往各存储中文**时总会出现乱码问题。同样的乱码问题也在j**a使用sql语句对**库表进行增加和修改什会出现。看了很多牛人的博文,经过自己地的尝试,总结出一些方法,如下:
1:MySQL**库默认存储的字符集是latin1,当然前提是你没有对MySQL的my.ini文件进行过修改。
2:MySQL**库区别于SqlServe问答r的地方是,My呀轴兵复打察SQL的每一列你都可以给他不同的字符集存储属性,所以就算你新建一个字符主族技演茶集规则是utf8的**库,但是你存储到表里的中文**可能还是乱码。别担心,你打开设计表,点击选项,把字符集修改为ut头f8、排序规则改成utf8_general_ci,这个时候存储中文就不会出错了。
3:如果还出错,你们再进行这么一步,修改url=”jdbc:mysql://localhost/hibernate?useUnicod先目星e=true&characterEncoding=UTF-8“,当然如果你使用的其他字符集,比如gbk,latin1等,这个在j**a项目中,使用固定的**库表时这么是没有问题的,是可以使用的,但是如果在hibernate配置文件的
<p怎余考助设伤急乱县ropertyname="hibernate.connect专值步金克害践ion.url">jdb值善谓经供c:mysql://localhost:3306/hibernate</property>
<propertyname="connection.useUnicode">true</property><propertyname="connection.characterEncoding">UTF-8</property>
如果不能用就在最后两句connection前面加上hibernate.试试
4:对MyS助青命全是医QL安装目录下的my.ini文件进行修合得滑严助改:
a.如果知道MySQL安装在哪,就直接去安装的目录文件夹下去寻找my.ini文件。
如果你忘了在MySQL安装在哪里,也没有关系,摁一下win键,或者点击开始,在”搜索文件和程序“中输入MySQL,会出星现MySQL5.5CommandLineClient这个MySQL的客户端,右键它选择属性,点击打开文件位置,然后你就会转爱发现你进入了MySQL的安装目录的子目录文件全弦信切们洋温夹下了,这时候逛逛举怀居心固几个文件夹,看看my.ini在哪里。
b.打开my.ini,点击编辑,选择查找,在查找框里输入default。