springmvc,controller层在接收浏览器url传来的参数带中文乱码问题。

  1. 请求地址:http://localhost:8080/saveFlashSale?fsRemark=哈哈哈哈哈

  2. 接收方法:@RequestMapping("/saveFlashSale")
    public Msg saveFlashSale(FlashSale sale)

  3. 实体FlashSale接收到的fsRemark是乱码。
  • 分析:在接收了的时候就是乱码了,那就用排除法。

  1. eclipse:widow->Perference->General->Workspace:是utf-8,说明不是这里的问题。
  2. 右击项目,选择Properties->Resource:也是utf-8,说明不是这里的问题。
  3. 右击类,选择Properties->Resource:也是utf-8,说明不是这里的问题。
  4. src->webapp下我web.xml:

    <init-param>
    <param-name>encoding</param-name>
    <param-value>utf8</param-value>
    </init-param>

            这也正常,说明也不是这里的问题。

  • 分析了一遍,发现项目的编码都是utf-8,是没问题,说明问题出在了tomcat本身。

  1. 打开server.xml,第65行(一般来说都是这里),发现<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />是没有指定编码的。

  2. 解决:在<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"  URIEncoding="UTF-8"/>加上URIEncoding="UTF-8
  3. 重启项目,重新请求方法,好了,期待已久的中文出现啦。此刻才发现,中文是多么的亲切。

 

猜你喜欢

转载自www.cnblogs.com/hsz-csy/p/9098665.html