A.jsp    
       <a href="B.jsp?id=<%=gues.getName()%>">详细资料</a>   B.jsp    
        我在B.jsp获取的时候出现乱吗,但又不是全部是乱吗,我是这样接收的
      request.setCharacterEncoding("utf-8");
String name = "";
name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"utf-8"); 
System.out.println("值:  " + name);
        
        比如说上面那个id的值是 “司士大夫大幅度十分似的” 但输出的时候就变成了 “司士大夫大幅度十分似�” 
         后面加了一个 “�”  了。

解决方案 »

  1.   

    http://topic.csdn.net/u/20081204/11/86a48411-44b1-406e-b623-da3dc5395c00.html?1575421512
    这里的问题和你一样,按照火龙果回复的方式改一下
      

  2.   

    转载一篇文章之前在动态页面静态化的过程中,IE打开页面后不显示内容,但html代码数据已经下载下来了,将其"字符编码"手动改"utf-8"才可以显示,到google搜索一下,找到解决方法了,为了方便自己也方便别人就把解决方法贴出来!google上搜索的解决方法在windows操作系统上使用IE作为浏览器时。常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网页已经声明过编码格式:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />,由此造成某些含有中文UTF-8编码的页面产生空白输出。如果使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会造成这个问题。这是由于IE解析网页编码时以HTML内的标签优先,而后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。由于UTF-8为3个字节表示一个汉子,而普通的GB2312或BIG5是两个。页面输出时,由于上述原因,使浏览器解析、输出< title></title>的内容时,如果在</title>前有奇数个全角字符时,IE把UTF-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的<结合成一个乱码字,导致IE无法读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。因此最简单的解决办法是再网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 放在<title></title>之前。
      

  3.   

    貌似我这边是好的 。。
    LZ a.jsp , b.jsp中的编码都是不是统一的 utf-8  ??
    再不行 :String name = ""; 
    name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"utf-8"); 
    System.out.println("值:  " + name); 这样试试。。
      

  4.   

    request.setCharacterEncoding("utf-8"); 
    String name = ""; 
    name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"utf-8"); 
    System.out.println("值:  " + name); 
    将红色部分去掉试试!
      

  5.   

      我的所有字符编码都是 utf-8的。
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 这个也是放在最title的前面。
       还是不行啊!郁闷!
      
      
      

  6.   

    不知道将utf-8 改为gbk可以了不,
    A.jsp    
          <a href="B.jsp?id= <%=gues.getName()%>">详细资料 </a>  B.jsp    
               request.setCharacterEncoding("gbk"); 
    String name = ""; 
    name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"gbk"); 
    System.out.println("值:  " + name); 
    还有另外的一种可能就是不管你输入了什么,最后一个总是会出错,(我猜的)
      

  7.   

    自己依照我以下几句话去对照你的代码,然后根据自己的需要进行修改!!就OK了为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件    
    <%@ page pageEncoding="gb2312"%>   
       
    保证JSP向客户端输出时是采用中文编码方式输出    
    <%@ page contentType="text/html;charset=GB2312"%>   
       
    为了让JSP能正确获得传入的参数    
    <%request.setCharacterEncoding("gb2312");%>   
       
    对于ACTION只要在最前面加上这句即可:    
    为了让JSP响应按照正确的编码格式    
    response.setContentType(”text/html; charset=gb2312″);
      

  8.   

    输入www.google.cn
    再输入url传递中文参数
    答案
      

  9.   

    request.setCharacterEncoding("utf-8"); //处理请求编码格式
    response.setCharacterEncoding("utf-8"); //处理响应编码格式
    你加上去看看
      

  10.   

    不知道你的这个问题解决了没有,如果你是这样在页面之间传中文的话,一般都会是乱码的,在两边都需要进行处理,我的处理方式都是这样的,
    建议可是试试,就是在A.jsp里面进行一下encodeURIComponent(result);这个操作,然后在B.jsp里面URLDecoder.decode(result,"UTF-8");
    这样拿到的就是正确的中文了,还有一个要求就是如果你是用的tomcat的话最好是配一个URIEncoding="utf-8",然后再试试
      

  11.   

    我说一下,要保证不出现乱码,有几个地方要注意:库本身的编码,表的编码,类文件的编码(可以用记事本另存为,指定编码),页面文件顶部的编码(就是<%charset=xxxx%>),连接的编码(创建connection时的编码)这些都要一致。
    其实编码的问题,这几个地方注意到了,就不会出现了。
      

  12.   

    name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"utf-8"); 
    改成
    name=new String(request.getParameter("id").getBytes("ISO-8859-1"),"gb2312");