在一般的软件开发中,所有的java类,jsp文件的字符集都设定为utf-8,而且web.xml文件中又增加了过滤器
<filter>
<filter-name>setCharacterEncoding</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>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>但是,我在开发中,凡是所有用表单POST提交到后台的都没问题,如果按照 URL后面直接加参数的形式,比如
http://localhost:8080/gbss/agentList.htm?method=query&agentCode=&agentName=&agentAddr=南京市雨花台区新丰路23号
提交到控制器层,发现还是有中文乱码问题,请问,为什么web.xml过滤器没起到作用哦?

解决方案 »

  1.   

    基本上我的结论就是,url中不要出现中文。
    关于url的编码,跟服务器设置,浏览器设置都有关系,比较麻烦。
    另外你可以查查js UrlEncode
      

  2.   

    1.urlEncode
    2.在服务器上设置编码
      

  3.   

    如果是tomcat服务器的话,在server.xml中的 port=8009的 connector的地方 加上URIencoding=utf-8
      

  4.   

     同意以上观点,最好URL不要出现中文。