解決前端頁面獲取不到中文資料/無法顯示中文資料的方法
阿新 • • 發佈:2018-12-07
解決前端頁面獲取不到中文資料/無法顯示中文資料的方法
原因: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>