1. 程式人生 > >JSP中文傳到Spring MVC controller亂碼問題分析

JSP中文傳到Spring MVC controller亂碼問題分析

表單提交controller獲得中文引數後亂碼解決方案

注意: jsp頁面編碼設定為UTF-8

form表單提交方式為必須為post,get方式下面spring編碼過濾器不起效果

  1. <%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
  1. <formaction="${ctx}/user/addUser"name="userForm"method="post">

修改web.xml,增加編碼過濾器,如下(注意,需要設定forceEncoding引數值為true)

  1. <
    filter>
  2.         <filter-name>characterEncodingFilter</filter-name>
  3.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4.         <init-param>
  5.             <param-name>encoding</param-name>
  6.             <param-value>UTF-8
    </param-value>
  7.         </init-param>
  8.         <init-param>
  9.             <param-name>forceEncoding</param-name>
  10.             <param-value>true</param-value>
  11.         </init-param>
  12.     </filter>
  13.     <filter-mapping>
  14.         <filter-name>characterEncodingFilter
    </filter-name>
  15.         <url-pattern>/*</url-pattern>
  16.     </filter-mapping>


2:表單提交controller獲得中文引數後正常顯示控制檯,然後儲存資料庫出現亂碼
注意:

資料庫編碼是否支援中文

資料庫表和表字段是否正確

在配置連線資料庫的引數設定修改:

  1. <propertyname="url"value="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8"></property>