MySQLFabric连接的编码问题

今天解决的一个小问题。最终的解决方案很简单,主要是讲一下解决问题的思路。

测试人员在服务器上测试,页面提交的中文内容存入数据库中以后,是乱码。
开发人员在本机上测试,没有问题。

服务器上使用的是MysqlFabric配置的集群,共有3台MySQL服务器。开发人员本地使用的是单机的MySQL。

首先,测试是不是服务器上的MySQL的配置问题。
使用MySql的客户端连接到服务器上的MySQL,插入中文,没有问题。这说明数据库本身是能够支持中文的。

然后,测试是不是页面提交的时候产生的乱码。
以调试的方式启动本地的Web应用程序,页面提交的时候从服务器端得到上传的内容,检查没有乱码。再检查配置文件,使用了Spring的CharacterEncodingFilter,进行了转码,所以应该也没有问题。

持久化的过程中的问题。编写JUnit代码,分别使用本地的连接和服务器上使用的连接来插入中文数据。本地没有乱码,服务器上有乱码。在这个写入数据库的过程中,差别就是本地连接使用的是mysql的urljdbc:mysql://localhost:3340/pms?useUnicode=true&characterEncoding=UTF-8,在连接服务器上的数据库采用的是MysqlFabric的urljdbc:mysql:fabric://10.8.48.234:32274/pms?fabricServerGroup=spfood-dev&fabricUsername=admin&fabricPassword=admin123#。在前一个url中指定了使用Unicode和使用UTF-8的编码,后一个url中没有指定。

查了一下MysqlFabric的资料,没有说明是否可以添加这样的参数。只有自行实验。添加上参数之后,中文乱码的问题就消失了。

本博客文章除特别声明外,均为本人原创。本着互联网精神,欢迎转载。转载请注明出处
原文地址:https://www.cnblogs.com/afrag/p/6180295.html