-
请求地址: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。
- 重启项目,重新请求方法,好了,期待已久的中文出现啦。此刻才发现,中文是多么的亲切。