解决Linux下Tomcat向MySQL插入数据中文乱码问题

时间:2021-09-08 09:06:23

一、问题

在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码

二、解决办法

1、尝试一

直接在linux上面使用insert语句插入中文,正常

2、尝试二

在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行

3、尝试三

在tomcat配置文件server.xml中再加入URIEncoding="UTF-8",不行

4、尝试四

由于是SSM框架项目,在web.xml中加过过滤器

 <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <async-supported>true</async-supported>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

不行

5、尝试五

在mybatis配置文件的jdbc路径后面加上?characterEncoding=utf-8,成功!

修改后的jdbc访问路径为:

jdbc:mysql://localhost:3306/daad?characterEncoding=utf-8

原文链接:http://blog.51cto.com/doublelinux/2097532