Nemo

Nemo 关注TA

路漫漫其修远兮,吾将上下而求索。

Nemo

Nemo

关注TA

路漫漫其修远兮,吾将上下而求索。

  •  普罗旺斯
  • 负责帅就完事了
  • 写了1,496,113字

该文章投稿至Nemo社区   Java  板块 复制链接


地址栏传参中文乱码

发布于 2016/12/02 17:28 1,343浏览 0回复 1,191

框架使用的SpringMVC,项目在本机(Linux)时,地址栏传参中文无影响。但是发布到服务器之后出现乱码。

查看web.xml,发现其中已经添加了乱码过滤的处理:

<filter>

    <filter-name>encodingFilter</filter-name>

    <filter-class>  

            org.springframework.web.filter.CharacterEncodingFilter  

        </filter-class>

    <init-param>

      <param-name>encoding</param-name>

      <param-value>utf-8</param-value>

    </init-param>

    <init-param>

      <param-name>forceEncoding</param-name>

      <param-value>true</param-value>

    </init-param>

  </filter>

  <filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

推测是tomcat字符编码设置的问题。查看conf/server.xml:

 <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000" 

               redirectPort="8443" />

没有发现访问监听端口没有字符编码设置的字眼。

修改为:

 <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

                URIEncoding="UTF-8"

               redirectPort="8443" />


重启服务,乱码消失。

本文标签
 {{tag}}
点了个评