jsp 传到action时有个中文参数 action接受到的是乱码。请问如何处理 
用的是url传参 即&param=你好
但是我的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>

解决方案 »

  1.   

    这个容易.. 你把页面设置成UTF-8在后面获取参数的时候用java.net.UrlEndcode.decode(paramName,"UTF-8")
    这样就不会乱了.
      

  2.   

    tomcat下的service.xml中<Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" 
                   URIEncoding="gbk"/>
      

  3.   

    有时候在配置文件写过滤器 来处理中午乱码 有时处理不了 有几种方法改看看  一种你把编译器该成UTF-8
    还有一种 你是在你的方法中 传值跳转之前  就一句转换成UTF-8的代码!
      

  4.   

    主要是你页面的编码 tomcat的编码 还有项目的编码搞一致就行了
      

  5.   

    http://topic.csdn.net/u/20100628/18/87051926-691b-4b4a-8c8a-9242e2965654.html传参数前先用str=URLEncoder.encode(String,"UTF-8")进行编码,将str写进Url
    然后读的时候用str = new String(str.getBytes("ISO-8859-1"),"UTF-8")对得到的参数进行编码转换
      

  6.   

    第一,前台编码是否是UTF-8
    第二,是不是你的过滤器代码写错了.
    不用过滤器的话直接用
    str=URLEncoder.encode(String,"UTF-8")
    str = new String(str.getBytes("ISO-8859-1"),"UTF-8")
      

  7.   

    建义你不要在url上传递中文件参数,不然就会有乱码问题,去2楼的那地方改一下
      

  8.   

    url传参乱码我用过两种方法解决
    1、传参时 java.net.UrlEndcode.encode(value,"utf-8");
    得到参数时java.net.UrlEndcode.decode(value,"utf-8");
    这种方法应该可以
    2、修改配置文件
    tomcat里service.xml
    <Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" 
      URIEncoding="utf-8"/>注意 URIEncoding 别写错了
      

  9.   

    昨天晚上也碰到这个问题了。查了好久,jsp的编码跟后台java文件,xml文件的编码要统一。
    然后tomcat中也要设置编码。要不然也会出问题。
      

  10.   

    以上的原因都排除的话,看一下你用form表单提交的时候,是不是忘记设置form表单的method属性了,这个是必须设置成post才可以的。
      

  11.   

    1.写一个javaBean public class EncodingFilter implements Filter { public void destroy() {
    // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    //设置中文编码
    request.setCharacterEncoding("gbk");
    response.setCharacterEncoding("gbk");
    chain.doFilter(request, response); }
            public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub }2.web.xml中配置
    <filter>
    <filter-name>encording</filter-name>
    <filter-class>刚才写的javaBean路径</filter-class> </filter>
    <filter-mapping>
    <filter-name>encording</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  12.   

    哪有用get方法传参数的  不安全 容易出错 种种缺点 换post吧 如果是struts2.18或更高版本的话
    在struts.xml中加上<constant name="struts.i18n.encoding" value="gbk或别的编码"/>
    就OK了