1.发送前:
1.1 从java发送:
java.net.URLEncoder(url, "gb2312");1.2 从网页中发送:
网页本身是gb2312, 因此不需要
2.接收前:
request.setCharacterEncoding("gb2312");

解决方案 »

  1.   

    试过了。。不成功。。依旧是乱码...
    <%@ page contentType="text/html;charset=ISO8859_1"%>
    <%request.setCharacterEncoding("gb2312");
    String message=request.getParameter("message");
    String url=request.getParameter("url");
    %>
    <html>
    <head>
    <title>success</title>
    </head>
    <body>
    <%=message%>12
    <p>
    <a href="<%=url%>">返回刚才的页面</a>
    </body>
    </html>
      

  2.   

    java.net.URLEncoder(message, "UTF-8");
      

  3.   

    to 狗狗。
    用了你的方法。。
    结果出现了这个错误提示
    C:\Tomcat 5.0\work\Catalina\localhost\delete\org\apache\jsp\success_jsp.java:46: cannot resolve symbol
    symbol  : class net 
    location: package java
    java.net.URLEncoder(message, "UTF-8");
        ^
    我已经用了
    <%@ page import="java.net.*"%>
    用这条语句要加什么包啊?
      

  4.   

    1.2 从网页中发送:
    网页本身是gb2312, 因此不需要----------
    这一条意思是说,网页部分也要设定为gb2312编码。将你的jsp中html部分代码修改如下:<html>
    <head>
    <title>success</title>
    <meta content="text/html; charset=gb2312" http-equiv=Content-Type>
    </head>
    <body>
    <%=message%>12
    <p>
    <a href="<%=url%>">返回刚才的页面</a>
    </body>
    </html>
      

  5.   

    还是不行。。我怀疑url不支持中文
      

  6.   

    怀疑是url传送的问题。。
    这就是出错的success页面的url
    http://127.0.0.1/delete/success.jsp?message=%20dP?&url=http://127.0.0.1
    乱码就是20dP?&。
    显示的也是这。。
      

  7.   

    那就把tomcat环境编码改为gb2312好了。http://localhost:8080/admin密码和用户名在你安装的时候设定的,如果忘记的话,去改%CATALINA_HOME%\conf\tomcat-users.xml1.点击左边框架中Service菜单项左边的小圆,展开列表.
    2.点击左边框架中connector(8080)菜单项,右边框架出现设置页。
    3.将URI Encoding参数改为gb2312。
    4.点击右边框架中右上角save按钮
    5.点击顶部框架Commit Changes按钮。
      

  8.   

    我有一句跳转语句
     response.sendRedirect("success.jsp?message=删除帖子成功 &url=http://127.0.0.1")
    可以对这句用encode。不需要import java.net.*,直接写就可以。response.sendRedirect(java.net.URLEncoder("success.jsp?message=删除帖子成功 &url=http://127.0.0.1", "gb2312");
      

  9.   

    jsp文件顶端再加上响应编码设定,这下齐了, xixi:<%
    response.setContentType("text/html; charset=gb2312");

    request.setCharacterEncoding("gb2312");
    %>
      

  10.   

    C:\Tomcat 5.0\work\Catalina\localhost\delete\org\apache\jsp\DeleteReply_jsp.java:89: cannot resolve symbol
    symbol  : class net 
    location: package java
      response.sendRedirect(java.net.URLEncoder("success.jsp?message=???甯????? &url=http://127.0.0.1"), "gb2312");//璺宠浆?版???〉??
                                                ^
    1 error还是有问题`
      

  11.   

    to 小p
    改了一下括号.你好像少打了一个括号。。我对这个函数不熟。。就改了一下位置在试一次。。
    同时import了java.net.*这次错误如下C:\Tomcat 5.0\work\Catalina\localhost\delete\org\apache\jsp\DeleteReply_jsp.java:95: cannot resolve symbol
    symbol  : method URLEncoder (java.lang.String,java.lang.String)
    location: class org.apache.jsp.DeleteReply_jsp
      response.sendRedirect(URLEncoder("success.jsp?message=???甯????? &url=http://127.0.0.1", "gb2312"));//璺宠浆?版???〉??
                                            ^
    1 error
      

  12.   

    你的jdk居然找不到java.net包,如果你安装的是1.4以上,那可能是被其他java软件带的jdk路径挡住了。查一下path变量。
      

  13.   

    可是我import的时候没有发现包错误啊
    我电脑里只有一个jdk。市jdk1.4.2的。。
      

  14.   

    sorry是我写错了:java.net.URLEncoder.encode()
      

  15.   

    是什么格式?
    encode(String)
    还是encode(String,"gb2312")?
      

  16.   

    我用的是encode(String,"gb2312")格式。。
    结果错误是
    type Status reportmessage /delete/success.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1description The requested resource (/delete/success.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1) is not available.可是我明明有success.jsp页面
    为什么 ?
      

  17.   

    我在两个页面上都用了
    <%
    response.setContentType("text/html; charset=gb2312");

    request.setCharacterEncoding("gb2312");
    %>
    应该不会出问题吧
      

  18.   

    不会,我做得所有项目都加了,html部分也加上meta那段。你刚才的代码是这段吗?response.sendRedirect(java.net.URLEncoder.encode("success.jsp?message=删除帖子成功 &url=http://127.0.0.1", "gb2312"));
    可能是相对路径不对,检查一下。看看是否需要改成 "../success.jsp"
      

  19.   

    html没有加meta..
    我就是用的<%
    response.setContentType("text/html; charset=gb2312");

    request.setCharacterEncoding("gb2312");
    %>
    我怀疑success.jsp?message=....中的问号也被编码了。。从而系统生成了一个url为message /delete/..%2Fsuccess.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1
    的页面。。而这个页面当然不存在所以才会出现上面的错误。。
      

  20.   

    那你可以只encode中文部分。try it
      

  21.   

    html部分加上
    <meta content="text/html; charset=gb2312" http-equiv=Content-Type>是为了保证浏览器编码直接定为中文,但是不会导致里面的中文乱码。产生的现象是你可能看到显示乱码,然后在页面上点右健,发现编码是iso_8859-1,接着改成gb2312,中文显示正常。
      

  22.   

    这次有进步了。。不过还是乱码。。
    乱码是??????×????? 
    success.jsp
    是<%@ page contentType="text/html;charset=gb2312"%>
    <%
    response.setContentType("text/html; charset=gb2312");

    request.setCharacterEncoding("gb2312");
    %>
    <%
    String message=request.getParameter("message");
    String url=request.getParameter("url");
    int forumID=0;
    %>
    <html>
    <head>
    <title>success</title>
    </head>
    <body>
    <%=message%>
    <p>
    <a href="<%=url%>">返回刚才的页面</a>
    <li><a href="index.jsp">返回论坛首页</a>
    <meta http-equiv="refresh" content="3; url=forum.jsp?forumID=<%=forumID%>">
    </body>
    </html>
      

  23.   

    tomcat环境编码改为gb2312这步作了?
      

  24.   

    结果就上不了网了。。
    我市tomcat5.0的。。
    我的端口是80
    所以我看的是connector(80)
    可是我的connector(80)上没有URI Encoding参数。。
      

  25.   

    肯定有这个选项的,看这个抓图:http://j18forever.51.net/images/tomcat_uri_enc.JPG
      

  26.   

    http://www.201ren.com/bbs/UploadFile/2004925145752963.jpg这个是我的
      

  27.   

    注意到你截图的右下角好像有tomcat运行程序的图标,exit,用tomcat安装目录下bin目录下的startup.bat运行tomcat试试,看有没有这个选项。如果还是没有,就去apache下载一个tomcat的.zip包好了。
      

  28.   

    可能改%CATALINA_HOME%\conf\server.xml,可以改变这个属性。别的方式我只知道传英文,然后转换为中文。这样繁琐多了。