1. 程式人生 > >Spring MVC 徹底解決中文亂碼問題(親測有效)

Spring MVC 徹底解決中文亂碼問題(親測有效)

中文亂碼是專案中常見的問題,也是必須要解決的問題。專案出現問題,看了不少的攻略,但是有的時候仍然不行,我的情況是使用get 請求,將引數傳遞到Controller 中。

下面將我找到的 解決辦法。

(1) 在JSP 檔案

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

(2)在HTML中 
<meta charset="UTF-8">
這個必須要加的

在上面中,使用get請求,可以對URL 進行編碼

var url = encodeURI(url1);
document.location.href = "url"

(3) 在Web 專案中

1) Eclipse 中右鍵專案 Properties 中,設定UTF-8 

2)設定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>  
3) 在Controller 中設定
URLDecoder.decode(request.getParameter("test"),"utf-8");
4) 伺服器配置(server.xml)
<Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />  
5)資料庫 設定

資料庫 中設定UTF-8 ,資料庫連線:

jdbc.url=jdbc:mysql://localhost:3306/homeeducation?useUnicode=true&characterEncoding=UTF-8



如果上面設定還是不行的話。那麼就使用下面的終極辦法,也是最方便的。

直接對接收到的引數進行資料轉換

 new String(title.getBytes("ISO-8859-1"), "utf-8");