<a href="gerenxinxi2.do?id=${v.TC_SIGNATURE}">
这个是这段jsp的代码,我想用它往后台传值,可是为什么id值为汉字的时候到了
后台就成了乱码呢?
应该怎么办啊?大家帮帮我吧。

解决方案 »

  1.   

    最好别直接在url上传递中文,编码过后再传。
    可以使用jstl编码<c:url
      

  2.   

    在web.xml里面配置个filter字符过滤器
      

  3.   

    new String(request.getParameter("id").getBytes("ISO-8859-1"),"GB2312")
      

  4.   

    用javascript 中的encodeURI方法ID进行编码,在放到链接中。注意:要这么写encodeURI(encodeURI(id))。
      

  5.   

    url传值,通过过滤器是没用的,你只能通过以下方法,好像只有post方法提交的表单才有效
    new String(request.getParameter("id").getBytes("ISO-8859-1"),"GB2312")
      

  6.   

    替换tomcat server.xml
         <Connector port="8080" maxHttpHeaderSize="8192" minProcessors="10" maxProcessors="100"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75" debug="0" 
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" useBodyEncodingForURI="true"/>
      

  7.   


    你用的是mysql吗?
    如果是的话,你在查询表之前打上:(set names gbk;)这句然后再查就好了。
      

  8.   


    request.setCharacterEncoding("gbk");在查的页面和传的页码加上这个就OK了
      

  9.   

    提交时使用post提交,编码使用utf-8
    万事都解决了