解决【The reference to entity "characterEncoding" must end with the ';' delimiter.】问题

在配置数据库连接池数据源时,本来没有错误,结果加上编码转换格式后eclipse突然报错:

The reference to entity "characterEncoding" must end with the ';' delimiter

这是怎么回事?

经过查询,发现这个错误其实很好解决。

首先,原因是: .xml文件中 ‘ & ’字符需要进行转义!!!

看到这里,其实已经恍然大悟,那么,这个字符 ‘ & ’ 需要怎么转义呢?看下面这张表:

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

 

<

 

<

 

小于号

 

&gt;

 

>

 

大于号

 

&amp;

 

&

 

 

&apos;

 

'

 

单引号

 

&quot;

 

"

 

双引号

所以,我们在xml文件中不能直接写 ‘ & ’ 字符,而需要写成 ‘ &amp; ’

下面来一个对比:↓ ↓ ↓

首先,上错误的代码:

<!-- 配置 Spring 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  <!-- 基本属性 driver、url、user、password -->
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url"                 
     value="jdbc:mysql://localhost:3306/sfcmn?useUnicode=true&characterEncoding=UTF-8" />
  <property name="username" value="root" />
  <property name="password" value="root" />
<!-- 。。。。。。 -->
<!-- 以下省略 -->

接下来是正确的代码:

<!-- 配置 Spring 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  <!-- 基本属性 driver、url、user、password -->
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url"                 
   value="jdbc:mysql://localhost:3306/sfcmn?useUnicode=true&amp;characterEncoding=UTF-8" />
  <property name="username" value="root" />
  <property name="password" value="root" />
<!-- 。。。。。。 -->
<!-- 以下省略 -->

可以看到,只有一处有改动: 将 ‘ & ’ 换成了 ‘ &amp; ’

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十甫寸木南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值