大家都用过pager-taglib的吧  遇到传递参数是中文就乱码了  不知道怎么解决好
改源代码的方法也不行(value = java.net.URLEncoder.encode(value,"gbk");)在action中keywords = new String(keywords.getBytes("iso-8859-1"), "gbk");
也不行!不知道使用过的人是怎么处理中文的急救啊  ……
如果能换个分页框架也行 请大家帮帮忙吧!

解决方案 »

  1.   

    (value = java.net.URLEncoder.encode(value,"gbk");)
    这句中你用的是net包里URLEncoder有两个方法,好像一个是编码的一个是解码的,你只用了一个,这样好像不行,你应该用对应的解码方法去解你用编码方法编的字符串,我以前用过,你试试
      

  2.   

    嗯  这是源码里面的一句 它用了encode但没有decode 式了很多次还是失败 这个东西搞的我真头大!
      

  3.   

    你没用decode啊,你用encode方法编码,到服务器用decode方法解码不就行了,我以前用过的,可以的
      

  4.   


    你说的没错 我之前试过了 是可以  但是只一次请求有效 再点击下一页的时候就不行了 pager-taglib里面会保留一份没有decode的 再点击下一页的时候 它会继续将没有decode的那份继续encode 所以肯定会出错的
      

  5.   

    这位大哥说的真没错啊 是你说的 我是做的lucene3 搜索 我用其它的办法做了分页代替
    但我还是非常想知道解决之道!
      

  6.   

    lz啊,如果实在解决不了中文我可以给你一种解决方案,很简单,就是不传中文,在后台你用一个全局的map保存一些信息,如map.put(“china”,"中国"),假如你要传“中国”,你可以传“china”,然后到后台你从map里取你想要的中文,怎么样?
      

  7.   

    我用utf-8 的字节数长度 和 乱码的长度做比较,前提你知道不乱码有长。乱成什么码了。长度如何,
    根据长度来比较,
      

  8.   

    filter:UTF-8
    jsp:charset=UTF-8
    String username = new String(request.getParameter("username").getBytes("8859_1"), "UTF-8");
      

  9.   


    恩,我在网上找个个据说重新编译过的jar包,就是第一次可以,再点就不行了,不知道这个问题现在解决了没有啊?急求!
      

  10.   

    这个我解决了,就是修改一下源码,再把它打包回去就行了,想要这个修改好的Jar包的话,上我号上去下吧,我等下传上去
      

  11.   

    也是用的系统默认的GBK 编码
      

  12.   

    看一个传智博客的老师说的方法:在页面端,使用两次js的encodeURI对中文进行编码,记住必须两次,在服务器端使用一次Url类中的decode进行解码. 绝对有效.该方法出自:传智播客 AJAX学习视频
      

  13.   

    value = java.net.URLEncoder.encode(value,"gbk");)
    gbk:换成 页面编码 pageContext.getResponse.getPageEncoding() (可能有错)
    encode: 改源码时有4个地方要改这个。
      

  14.   

    修改TomCat下的server.xml添加
    <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/>
    可以解决乱码问题.