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
jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf-8
结果出现了下面的异常:
Error parsing XML: /hibernate.cfg.xml(8) The reference to entity "characterEncoding" must end with the ';' delimiter.
1
ErrorparsingXML:/hibernate.cfg.xml(8)Thereferencetoentity"characterEncoding"mustendwiththe';'delimiter.
仅仅在&后面缺少了“amp;”,就出现了这个异常,原因是:
在xml文件中以下几类字符要进行转义替换:
⁢
<
小于号
>
>
大于号
&
&
和
'
‘
单引号
"
“
双引号