JSP頁面表單提交,controller接收爲亂碼,以及保存到數據庫時爲亂碼解決方法

1.確保項目編碼爲utf8





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


重啓mysql服務方法:





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



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"/>


8.db.properties配置文件設置

jdbc_url=jdbc:mysql://localhost:3306/gp?useUnicode=true&characterEncoding=utf-8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章