1. 程式人生 > >Linux下Tomcat向MySQL插入數據中文亂碼解決辦法

Linux下Tomcat向MySQL插入數據中文亂碼解決辦法

中文亂碼解決辦法

Linux下Tomcat向MySQL插入數據中文亂碼解決辦法

一、問題

在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

Linux下Tomcat向MySQL插入數據中文亂碼解決辦法