問題描述:
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’;
站長資訊網