zoukankan      html  css  js  c++  java
  • C3P0数据库连接池数据库插入中文乱码问题解决

    问题描述

    近期修改一个学生信息管理的JavaWeb项目,其数据库连接池使用了C3P0。在实际测试时,发现在学生信息模块添加中文学生信息会在数据库(MySQL)出现中文乱码问题。

    如图所示:
    在这里插入图片描述

    问题分析

    如果在Application本身数据不存在中文乱码的前提下,那么存在以下两种可能(严格来说是一种):

    1. 数据库字符集问题导致
    2. Application连接时没有指定字符集导致

    首先,我想到了是不是数据库字符集的问题,但我在数据库查看字符集的设置信息时,并没有发现问题。

    如图:
    在这里插入图片描述

    当然如果你在查看你的数据库字符集时发现存在不支持中文的字符集时,可以参考博文:https://blog.csdn.net/weixin_43670802/article/details/95230263 进行字符集修改。

    那么肯定是连接时没有指定字符集所致了。

    问题解决

    在JDBC URL 后面加上字符集参数即可。

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
    	<default-config>
    		<property name="driverClass">com.mysql.jdbc.Driver</property>
    		<property name="jdbcUrl">jdbc:mysql://localhost:3306/ssms?useUnicode=true&amp;characterEncoding=UTF-8</property>
    		<property name="user">root</property>
    		<property name="password">xxxx</property>
    	</default-config>
    </c3p0-config>
    

    注意

    C3P0连接池的配置文件为XML文件,所以某些特殊字符并不能直接键入,需要转义。
    在上述的JDBC URL中,需要特别注意键入的是&amp;而不是&

  • 相关阅读:
    vue中 根据音频 获取音频的时长
    获取dom位置信息
    react笔记
    Git 基础命令
    vue 笔记
    倒计时
    删留言
    python 类之类变量与实例变量
    python 类的定义
    python 列表推导式
  • 原文地址:https://www.cnblogs.com/tfxz/p/12902911.html
Copyright © 2011-2022 走看看