Spring MVC 徹底解決中文亂碼問題(親測有效)
阿新 • • 發佈:2019-01-31
中文亂碼是專案中常見的問題,也是必須要解決的問題。專案出現問題,看了不少的攻略,但是有的時候仍然不行,我的情況是使用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
3) 在Controller 中設定<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>
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");