解决hibernate写入mysql中文乱码问题

1.创建数据库时设定编码为utf-8

CREATE DATABASE `hibernate`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';

2.创建表时设定编码为utf-8

CREATE TABLE `t_user` (
    `id` varchar(40) NOT NULL default '',
    `name` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3.hibernate配置url时设定编码为utf-8

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf-8</property>

结果出现了下面的异常:

仅仅在&后面缺少了“amp;”,就出现了这个异常,原因是:

在xml文件中以下几类字符要进行转义替换:

&it; < 小于号
&gt; > 大于号
&amp; &
&apos; 单引号
&quot; 双引号

1 Reply to “解决hibernate写入mysql中文乱码问题”

发表评论