hibernate 中怎么处理MYSQL中文乱码

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:21:37
我在网上找到了答案 可是放进去以后那文件要报错 说我少分号哟 可我怎么加它也报那错 怎么搞呀?
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sysnews?useUnicode=true&characterEncoding=gb2312</property>
自己解决了
在<session-factory>和< ssion-factory>之间加入这么一段:
代码:
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">gbk</property>
就这样就完了
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/sysnews?useUnicode=true&characterEncoding=gb2312</property>用这句要报错

你如果是想从数据库这里就改变编码方式一定要3步:

1.数据库连接的url一定要这样写?useUnicode=true&characterEncoding=gb2312&autoReconnect=true 这一点你应该是做对的

2.建立数据表时,要这样写(编码方式可以变,type这个是数据库类型)
CREATE TABLE tableName (
...略
)type=myisam,default character set gb2312;

3.在mysql的目录下 比如我的目录是:C:\Program Files\MySQL\MySQL Server 5.0 这样的 .
在这个目录下有个文件叫 my.ini 打开这个文件.
一般是在 第57行 default-character-set=gb2312 根据你自己的编码 该写gb2312这个字符串

补充一下楼上的第三个设置问题,一个有两个编码,不能只改一个,不然还是乱码。在ini文件里边仔细看下,就知道了。两个位置就差几行。

首先你mysql中的默认编码要设置gb2312,一般是用gbk最好是utf-8
其次就是hibernate配置
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK</property>