我用下面的语句转到info.jsp这个页面显示中文信息
<script language=javascript>
window.location="info.jsp?str=成功!"
</script>
info.jsp的代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<body>
<%
String str=request.getParameter("str");
%>
<%=str%><br>
</body>
</html>该怎么决这个问题???

解决方案 »

  1.   

    String str=new String(request.getParameter("str").getBytes("iso-8859-1"),"gb2312");
      

  2.   

    http://blog.csdn.net/lip009/archive/2006/09/07/1192022.aspx
    看看这篇,你的乱吗就解决了!
      

  3.   

    本人初学jsp 能不能给个具体的解决办法?非常感谢
      

  4.   

    你的第一个jsp页面里面有没有设置为gb2312啊?加上这三条基本上没问题的
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page pageEncoding="gb2312"%>
    <% request.setCharacterEncoding("gb2312");%>
      

  5.   

    我把这三段代码加上了   
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page pageEncoding="gb2312"%>
    <% request.setCharacterEncoding("gb2312");%>还是出现乱码?????郁闷中~~~~~~~~~~
      

  6.   

    还有问题?可能是和url编码有关了吧,正常情况下通过form提交的中文在浏览器地址栏里面都被编码了的,你直接用javascript来把中文字符“成功”加到url里面,这“成功”怕是没有被编码就提交过去了
      

  7.   

    我的<form>表单里的内容  接受显示是中文,没什么问题,但是就是这个现在不行,帮帮忙吧
      

  8.   

    你为什么一定要让str=成功!呢?你应该避免在url里面传递中文字符啊
      

  9.   

    %B3%C9%B9%A6
    这应该是‘成功’的GB2312编码,你用它替代掉‘成功’再试试,那个!号就免了吧
      

  10.   

    看了,但是看不懂
              在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
    上面的这段代码加到哪里呢?
    还有下面的这段代码又加到哪里呢?
             取值用java.net.URLDncoder.dncode(param);是不是这样的?
    第一页面中代码如下:
    <script language=javascript>
    window.location="info.jsp?str=成功!"
    </script>
    <% java.net.URLEncoder.encode(str); %>
    然后再info.jsp的页面中
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
    <body>
    <%
    java.net.URLDncoder.dncode(str);
    %>
    <%=str%><br>
    </body>
    </html>
    这样好象出错了
      

  11.   

    我把    成功   的地方换成   这个代码%B3%C9%B9%A6  在显示成中文了~~~~~~~
      

  12.   

    希望你能总结出点东东,呵呵,不过这样做没什么意义,如果提交中文,一定要进行编码,直接通过url跳转页面,就不要在url里面掺杂中文字符啊
      

  13.   

    上面的的写法都是不对的,要写成:
       public String codeToString(String str)
    {
      String s=str;
    try{
    byte tempB[]=s.getBytes("ISO-8859-1");
    s=new Sstring(tempB);
    retutn s;
    }catch(Exception e){return s;}
    }
      

  14.   

    我也遇到过这样的问题,我是这么解决的<script language=javascript>
     var url = "info.jsp?str=成功!";
      url = encodeURI(url);
    window.location=url;
    </script>
      

  15.   

    <script language=javascript>
     var url = "info.jsp?str=成功!";
      url = encodeURI(url);
    window.location=url;
    </script>我想再问一下的是这样写后  那我在 info.jsp页面中的代码 该怎么写呢?还需要配置别的东东吗?
      

  16.   

    var url = "info.jsp?str=<%=java.net.URLEncoder.encode("成功")%>";
    window.location = url;
      

  17.   

    在jsp页面中写
    <%@ page pageEncoding="UTF-8"%>
    就可以了
      

  18.   


    转义<script language=javascript>
     var url = "info.jsp?str=%u6210%u529F%uFF01";
      url = encodeURI(url);
    window.location=url;
    </script>送你个小工具
    <html>
    <script>
    function showCode(val){
         showit.innerHTML=(escape(val));
    }
    </script>
    <body>
    <input id='valu'/>
    <input type='button' onclick='showCode(valu.value)'/>
    <div id='showit'></div>
    </body>
    </html>
      

  19.   

    错了<script language=javascript>
     var url = "info.jsp?str=%u6210%u529F%uFF01";
    </script>保留你原来的