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文件夹中,这里根据自己的实际安装目录来填写。

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

你可能感兴趣的:(MySql,JavaWeb)