页面一:
<script language="JavaScript">
  function check() {
     var name = "姓名";
     document.form1.action="file.jsp?name="+name; //因为程序需要,只能用这种提交方式
     document.form1.submit();
  }
</script>  提交以后。
页面二:
<%
//request.setCharacterEncoding("GBK"); String name = request.getParameter("name");//name= new String(name.getBytes("ISO-8859-1"),"GBK");
%>
<%=name%>
页面二显示的name是乱码  ????
请高手们指点指点小弟

解决方案 »

  1.   

    别转码你看看还是不是乱码?
    另外你在测试一下用post方式提交,看看,比较一下,就明白了
      

  2.   

    页面一:
    <%@ page contentType="text/html;charset=GBK" %>
    ....页面二:
    <%@ page contentType="text/html;charset=GBK" %>
    <%
     request.setCharacterEncoding("GBK");
     String name = request.getParameter("name");
    %>
    应该就可以了啊
      

  3.   

    用java.net.URLDecoder.decode  要怎么用?
    document.form1.action="file.jsp?name="+name; URL在JavaScript中写的,怎么使用URLDecoder呢?
      

  4.   

    在传递参数时,先用java.net.URLDecoder.decode转化一下就可以了
    比如:
    <script language="JavaScript">
      function check() {
         <%
         String name="姓名";
         %>
         document.form1.action="file.jsp?name="+<%java.net.URLDecoder.decode(name)%>;        
         document.form1.submit();
      }
    </script>
      

  5.   

    form用post方式,把name= new String(name.getBytes("ISO-8859-1"),"GBK");这句话放开
      

  6.   

    你在浏览器中 传参数的时候不要直接传汉字,要先对其进行Encode编码,我用java的方法实现如下:你可以用自己写javascript的encode函数。
    1.jsp:
    <%@ page contentType="text/html;charset=gb2312"%>
    <script language="JavaScript">
    <!--
      function check() {
         var name = "<%=java.net.URLEncoder.encode("姓名")%>";
         document.form1.action="test.jsp?name="+name; //因为程序需要,只能用这种提交方式
         document.form1.submit();}
      }-->
    </script>
    <form name="form1" method=post>
    <input value="提交" type=button onclick="javascript:check();">
    </form>test.jsp:
    <%@ page contentType="text/html;charset=gb2312"%>
    <%
     request.setCharacterEncoding("gb2312");
     String name = request.getParameter("name");
    %>
    <%=name%>
      

  7.   

    如果你不想传递明文:
    页面一:
    <%@ page contentType="text/html;charset=GBK" %>
    ....
    document.form1.action="test.jsp?name="+"<%=java.net.URLEncoder.encode("姓名")%>";
    ....页面二:
    <%@ page contentType="text/html;charset=GBK" %>
    <%
     request.setCharacterEncoding("GBK");
     String name = request.getParameter("name");
    %>
      

  8.   

    name= new String(name.getBytes("ISO-8859-1"),"GBK");
    转换一下, 尽量不要在地址栏上传递中文参数,可以用post方式
      

  9.   

    这个问题到现在也没解决的了,我使用的是最笨的方法,用流来取得页面全部的值,然后在分解!
    各位高手们有其他的简便方法吗?<script language="JavaScript">
      function check() {
         var name = form1.name.value;
         document.form1.action="file.jsp?name="+name; //因为程序需要,只能用这种提交方式
         document.form1.submit();
      }
    </script>