jsp頁面表單提交,controller接收亂碼,資料庫亂碼等解決方案

來源:互聯網
上載者:User

標籤:import   alt   string   修改   toc   SQ   utf-8   pos   cti   

1.web項目出現亂碼問題

做web項目的時候,多多少少會出現中文亂碼問題。 
對於jsp頁面表單提交,controller接收亂碼,儲存到資料庫中文亂碼等問題,統一給出幾種亂碼的解決方式。

1.項目編碼沒有設定為utf8

有一些普遍的亂碼問題,是因為我們在建立web項目或者是匯入別人的web項目的時候,沒有設定項目的編碼。項目沒設定utf-8編碼會導致中文亂碼。

 

 

2.確保資料庫編碼為utf8,以mysql為例,可到mysql目錄下,my.ini檔案中修改後,重啟mysql服務

重啟mysql服務方法:

 

 

3.資料庫建庫時,確認編碼為utf-8,以使用Navicat為例

 

4.在jsp頁面亂碼問題

可以在 jsp的頂端加入;

<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8”%>
  • 1

Head中加入

 

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

form表單的提交方式設為 “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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

6.在java代碼的controller層或者是form表單提交的action中,設定:

request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8"); 
  • 1
  • 2

7.tomcat設定

開啟tomcat安裝路徑下的conf-server.xml 檔案:

<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>
  • 1
  • 2

以上7種基本上是用來解決jsp頁面表單提交,controller接收亂碼,資料庫亂碼等問題,一般4,5,6方法最常用也是關係最大的。 
比如我有寫form表單,提交資料到資料庫的時候,開啟資料庫發現中文亂碼,設定什麼utf-8之類的都是設定了的。 
於是採用第5種方式,加入字元過濾器。 
 

web.xml中: 

效果: 

jsp頁面表單提交,controller接收亂碼,資料庫亂碼等解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.