a.jsp?param=中文
是这样传的参数吗?

解决方案 »

  1.   

    先用这个转码:
    String param= new String(request.getParameter("param").getBytes("ISO-8859-1"), "GBK");
    如果是通过"a.jsp?param=中文"传递参数,
    再试下面两种方法:
    1.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(errmsg);
    2.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
        <Connector 
    port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
     />
      

  2.   

    <a  href='XXX.jsp?p=<%=java.net.URLEncoder.encode( "中文参数 ",  "GBK  ")%  >
    </a>
      

  3.   

    首先要区分你的提交方式:
    如果是get方式,那需要修改SERVER.XML,加上URIEncoding="gb2312"
    如果是POST方式的话,最好写一个过滤器,在过滤器中设置setCharacterEncoding("gb2312");
    这样可以一劳永逸的解决问题所以,首先看看你的提交方式,不同的方式处理方式是不同的.
      

  4.   

    是这样传递参数:a.jsp?param=中文,我已经在SERVER.XML,加上URIEncoding="GBK",但是还是乱码,但是没通过URL传递的参数显示中文正常。
      

  5.   

    那就在传之前再转一下java.net.URLEncoder.encode(errmsg);
    取参数的时候再转回来java.netURLDncoder.Dncode(errmsg);
    我上次在?后边直接传中文是乱码,加上URIEncoding="GBK"就OK了