1. 程式人生 > >ssm中從頁面到controller和數據庫出現亂碼問題的解決

ssm中從頁面到controller和數據庫出現亂碼問題的解決

亂碼問題 數據 ebo content ont pos mysq url work

1.確保項目編碼為utf8,點擊項目右鍵,點擊properties

技術分享







2.確保數據庫編碼為utf8,以MySQL為例,可到mysql目錄下,my.ini文件中修改後,重啟mysql服務

技術分享




重啟mysql服務方法:


點擊計算機右鍵,管理,重新啟動mysql


3.數據庫建庫時,確認編碼為utf-8,以使用Sqlyog為例

技術分享





4.jsp頁面

頂端加入<%@ page language="Java" import="java.util.*" pageEncoding="UTF-8"%>

Head中加入

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

表單提交方式設為"Post"


5.如果使用spring,在web.xml中加入

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


6.在controller/action中,設置

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");


7.TOMCAT設置

conf-server.xml

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

redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

ssm中從頁面到controller和數據庫出現亂碼問題的解決