問題描述: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';
轉載博文:https://blog.csdn.net/yuanyuan214365/article/details/72454282
參考數據庫配置百度經驗: https://jingyan.baidu.com/album/2fb0ba40a4072900f2ec5f1c.html
