1. 程式人生 > >解決前端頁面獲取不到中文資料/無法顯示中文資料的方法

解決前端頁面獲取不到中文資料/無法顯示中文資料的方法

解決前端頁面獲取不到中文資料/無法顯示中文資料的方法

原因:Spring MVC 是基於Servlet,在Http請求到達Servlet解析之前,GET過來的URL已經被Tomcat先做了一次URLDecode。Tomcat對GET方式預設的URL解碼結果是iso-8859-1而不是UTF-8!

解決方法:

1、在後端Controller中對傳遞過來的引數重新進行編碼
decodeFName = new String(fName.getBytes(“iso-8859-1”),“utf-8”);

由於上述原因,在構造HTTP響應訊息時,需要把中文字元再轉成iso-8859-1。

2、配置Tomcat:

在Tomcat的conf目錄下的server.xml中配置Connector的URIEconding=“UTF-8"屬性即可,沒有這個引數可以手動加上。

如果是maven內建的Tomcat,只需要在Configuration處加上<uriEncoding>UTF-8</uriEncoding>即可

<configuration>
					<!-- 指定埠 -->
					<port>9101</port>
					<uriEncoding>UTF-8</uriEncoding>
					<!-- 請求路徑 -->
					<path>/</path>
				</configuration>