-
請求地址:http://localhost:8080/saveFlashSale?fsRemark=哈哈哈哈哈
-
接收方法:@RequestMapping("/saveFlashSale")
public Msg saveFlashSale(FlashSale sale) - 實體FlashSale接收到的fsRemark是亂碼。
-
分析:在接收了的時候就是亂碼了,那就用排除法。
- eclipse:widow->Perference->General->Workspace:是utf-8,說明不是這里的問題。
- 右擊項目,選擇Properties->Resource:也是utf-8,說明不是這里的問題。
- 右擊類,選擇Properties->Resource:也是utf-8,說明不是這里的問題。
- src->webapp下我web.xml:
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
這也正常,說明也不是這里的問題。
-
分析了一遍,發現項目的編碼都是utf-8,是沒問題,說明問題出在了tomcat本身。
-
打開server.xml,第65行(一般來說都是這里),發現<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />是沒有指定編碼的。
- 解決:在<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>加上URIEncoding="UTF-8。
- 重啟項目,重新請求方法,好了,期待已久的中文出現啦。此刻才發現,中文是多么的親切。
