①<c3p0-config>
<!-- 默认配置,如果没有指定则使用这个配置 -->
<default-config>
<!-- 基本配置 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
//下面是解决jdbc问题的关键代码
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day09?autoReconnect=true&useSSL=false&serverTimezone=UTC</property>
<property name="user">root</property>
<property name="password">123</property>
</c3p0-config>
把c3p0连接池的xml中的url配置中写入?autoReconnect=true&useSSL=false&serverTimezone=UTC可解决问题
②创建数据库要声明编码方式;
否则如果默认不是utf8的话会报错,无法插入中文数据;
例子: create database day13 character set utf8;
查看数据库的各种编码方式
进入数据库输入 show variables like '%char%';
会显示出来,不过貌似创建完数据库没指定编码方式的话,用指令修改不好使,就算显示出来了也不一定好使。
③当把sql数据库的各种编码以及post servlet里的编码全都弄对了,在控制台也能输出中文而到数据库就是乱码,原因在c3p0的配置文件没指定字符集,可能默认的是别的吧加上就ok了
<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/day17?characterEncoding=utf8</property>