各位大虾:jsp1.jsp
<a href="jsp2.jsp?name=C#">click</a>jsp2.jsp
<%
   String name = request.getParameter("name");
   out.println(name);
%>当在jsp1.jsp中点链接时,在jsp2.jsp中得不到传递过来的"#"号,
还有如果传递的是"C%"时,还会发生异常
这是怎么回事呀?

解决方案 »

  1.   

    jsp1.jsp
        <%
         String content = "C#编程";
         content = java.net.URLEncoder.encode(content,"gbk"); 
        %>
        <a href="jsp2.jsp?name=<%=content%>">click</a>jsp2.jsp
     <%
          String name = new String(request.getParameter("name").getBytes("iso-8859-1"),"gbk");      
          out.println(name);
     %>我已经用上面这种方式搞定了,不知道还有没有更好的方式呢?
      

  2.   

    同上!如果你的编码是gb2312的话可能会出现你说的问题!gbk应该是没问题的!前者是简体中文
      

  3.   

    把网页全部统一成jbk。
    接收前来一句 request.setCharacter("gbk");
      

  4.   

    out.print("<a href='jsp2.jsp?name=C%23 '>click </a>");
      

  5.   

    一个完整的URL如下:
    http://SomeUser:[email protected]_server.com:8080/path/file.html
     URL无法显示某些特殊符号,这个时候就要使用编码了。编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。(ASCII参考)
    有些字符在URL中具有特殊含义,基本编码规则如下:
    特殊含义                                                            十六进制值 
    1.+ 表示空格(在 URL 中不能使用空格)          %20 
    2./ 分隔目录和子目录                                              %2F 
    3.? 分隔实际的 URL 和参数                                   %3F 
    4.% 指定特殊字符                                                    %25 
    5.# 表示书签                                                             %23 
    6.& URL 中指定的参数间的分隔符                        %26 
    java中URL 的编码和解码函数
    java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);