response.sendRedirect("YjCbLeiX.jsp?groupname='"+ls+"'&duixiang="+duixiang+"");
其中ls在本jsp页面显示是中文,但是通过
response.sendRedirect传递就是乱码,我试图改为
response.sendRedirect("YjCbLeiX.jsp?groupname='中文'&duixiang="+duixiang+"");,但是在ie浏览器上发现
也是乱码。搞不清楚了。

解决方案 »

  1.   

    通过URL传参是GET方式
    要想正常显示中文,需要很复杂的转码
      

  2.   

    去我发过的帖子上看看.帖名是
    Save       could       not       be       completed各位高手帮帮忙,在线等回帖里有几个处理乱码的都试试.....
      

  3.   

    给你个转码的DEMO
    String name=request.getParameter("name");
    byte[] byte1 = name.getBytes("ISO-8859-1");
    String name = new String(byte1, "EUC_CN");
      

  4.   

    我刚学JAVAWEB开发的时候,也曾经被乱码问题困扰
    当时我们老师写了个例子,专门解决GET传值引起的乱码问题,很烦
    如果我没记错就是,传值前就得把中文转成目标码,比如UTF-8,GB2312(推荐UTF-8)
    然后在取值的地方还得这么转
    反正就是很烦
      

  5.   

    多种解决办法:
    1、用El
    2、把取得的参数进行转码:String args= request.getParameter("groupname");
    String result = new String(args.getBytes("ISO-8859-1"),"UTF-8"); 
    3、使用过滤器来过滤
    4、把tomcat的server.xml文件中找到 <Connector…………,在后面加上URIEncoding="UTF-8"/>
    5、改用post  
     
      

  6.   

    楼上办法除过过滤和post都是最后要用的办法了,还有没有解决办法!
      

  7.   

    写一个字符处理函数
    <%!
    public String codeToString(String str)
    {//处理中文字符的函数
    String s=str;
    try
    {
    byte tempB[]=s.getBytes("ISO-8859-1");
    s=new String(tempB);
    return s;
    }
    catch(Exception e)
    {
    return s;
    }
    }
     %>
      

  8.   

    各浏览器发送URL的编码不一样的,发送之前我们自己编码一下就行了
    response.sendRedirect("YjCbLeiX.jsp?groupname='"+java.net.URLEncoder.encode(ls)+"'&duixiang="+duixiang+""); 
    取参数时: 
    String ls= request.getParameter("ls");
    try {
        ls = URLDecoder.decode(ls, "utf-8");
        out.println("ls is :" + ls);
    } catch (UnsupportedEncodingException e) {
        out.println("出错了");
    }附:常用浏览器发送URL的编码特性
    http://hi.baidu.com/zhusyu/blog/item/6b99c4c636d8961f9d163dd7.html
      

  9.   

    过滤器 去servlet书上找啊。。
      

  10.   

    你可以使用Base64加密字符后,然后再接收端解密就可以了
      

  11.   

    工程搞大了,要不我用比较直接post的方式做算了。
    但是如何自动就post我的页面呢?
      

  12.   

    response.sendRedirect("YjCbLeiX.jsp?groupname='"+java.net.URLEncoder.encode(ls)+"'&duixiang="+duixiang+""); 
    这个加密了,但是接受过来无法解密!
    Java codeString ls= request.getParameter("ls");
    ls = URLDecoder.decode(ls, "utf-8");
    这种办法解密不对,我也改了gbk和gb2312都还是错误的。
      

  13.   

    我用post解决了传递,以后要注意了!
    谢谢大家!
      

  14.   

    我觉得好多网站是使用base64编码,接收时再解码
      

  15.   

    String name=request.getParmert("name");
    name=new String(name.getBytes("ISO-8859-1"),"GBK");Get方式乱码字符转换
      

  16.   

    POST请求用过滤器
    GET请求配置TOMCAT
    js请求用encodeURIComponent
      

  17.   

    get方式看来解决不了问题,post虽然比较绕一些但是能解决问题!
      

  18.   

    可以使用表单隐藏传参数,即将<input type="" name="" value="">中type值设为hidden