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