1. 程式人生 > >將專案部署到Tomcat伺服器後從頁面接收MySQL資料中文亂碼

將專案部署到Tomcat伺服器後從頁面接收MySQL資料中文亂碼

問題描述:

1、將專案部署到伺服器之後從頁面接收的中文亂碼

2、資料庫中原有的資料都能正常顯示

產生原因:沒有對Tomcat伺服器和MySQL進行配置更改

解決流程:

一、 修改Tomcat配置

更改兩個檔案的配置

      1.server.xml

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"

URIEncoding="UTF-8" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  URIEncoding="UTF-8"/>

        2.web.xml

<filter>

<filter-name>setCharacterEncodingFilter</filter-name>

<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

<async-supported>true</async-supported>

</filter>

預設tomcat7中上面這段程式碼在註釋中,把它註釋去掉。

重啟tomcat使配置生效。

二、 mysql配置

修改資料庫的配置檔案my.cnf檔案,此檔案如果通過rpm安裝一般在/etc/目錄下,具體修改成的樣式如下圖所示

修改完成後,我們儲存配置的修改,然後執行命令service mysqld restart。重新啟動資料庫。

進入mysql,使用status檢視資料庫資訊,執行命令show variables like 'character%'; 檢視更改後的編碼格式,執行 use 資料庫名;然後執行show create database 資料庫名; show create table 資料表名;檢視對應的資料庫和資料表編碼

修改此資料庫的編碼方式為utf8(預設是latin1)
mysql> alter database 資料庫名 character set utf8;

SET NAMES 'utf8';