JDBC连接池中文乱码解决方案

Tomcat中有介绍JDBC连接池的文档,这里我就不阐述了JDBC连接池的技术。

正如我前篇博客所说的那样

出现乱码的根本原因是字符集的不统一造成的,因此只要统一字符集即可。

所以,只要保持字符集统一即可。

MySql服务器端使用的是默认字符集latin1_bin,并不是我们所期待的UTF-8,所以需要我们去设置MySql的连接的字符集编码。

乱码解决方案一:添加连接参数
连接数据库的URL中配置参数

jdbc:mysql://localhost:3306/WebHuzi?useUnicode=true&characterEncoding=utf8

在使用XML配置时,上述代码会报错,原因是XML中&符号需要转义,使用转义字符即可。

jdbc:mysql://localhost:3306/WebHuzi?useUnicode=true&characterEncoding=utf8

乱码解决方案二:修改MySql默认字符集
打开MySql安装目录,在bin目录下找到my.ini文件(不同版本MySql的my.ini文件放置位置可能不同,我使用的某个版本是在根目录下配置my.ini),添加如下代码

# 这段代码清放置在[mysqld]的下面
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/mysql/share/charsets"

character_sets-dir是mysql字符集目录,默认在MySql安装目录下的\share\charsets文件夹中,这里根据自己的实际安装目录来填写。

这样一来,乱码问题就解决了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值