今天使用c3p0 xml 配置文件操作数据库一直出现中文乱码 在网上找了好久 终于找到了解决办法
如果你的程序运行没有问题 只是出现乱码的情况 那么只要在
这个后面加上 &useUnicode=true&characterEncoding=UTF8 这句话就可以了
》》如果你的 数据库名 后面有别的东西 不要删掉 在最后面直接加 不要动你之前写过的东西,
》》因为配置文件不能直接读出 & 所以需要 & 来进行转译
下面是我没有改过的配置文件(也就是出出现乱码的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="webDataSource">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/hbuproject?rewriteBatchedStatements=true</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 最小的连接数 -->
<property name="minPoolSize">5</property>
<!-- 最大的连接数 -->
<property name="maxPoolSize">30</property>
<!-- 初始化的连接数 -->
<property name="initialPoolSize">10</property>
<!-- 需要时一次性创建的连接数 -->
<property name="acquireIncrement">5</property>
<!-- 缓存多少个Statement对象 -->
<property name="maxStatements">15</property>
</named-config>
</c3p0-config>
这是我改正之后的配置文件 (乱码问题解决)
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="webDataSource">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/hbuproject?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF8</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 最小的连接数 -->
<property name="minPoolSize">5</property>
<!-- 最大的连接数 -->
<property name="maxPoolSize">30</property>
<!-- 初始化的连接数 -->
<property name="initialPoolSize">10</property>
<!-- 需要时一次性创建的连接数 -->
<property name="acquireIncrement">5</property>
<!-- 缓存多少个Statement对象 -->
<property name="maxStatements">15</property>
</named-config>
</c3p0-config>