在你的jsp页面最开始部分加上下面的这句话试试:<%@ page contentType="text/html; charset=GB2312" %>

解决方案 »

  1.   

    String strTitle = new String(request.getParameter("title").getBytes("ISO-8859-1"));
      

  2.   

    试试 new String(request.getParamter().getBytes("ISO8859-1"))
      

  3.   

    我也有同样的问题,如果你解决的给我发邮件告诉我。
    [email protected]
      

  4.   

    在取参数前加一句:request.setCharacterEncoding("GB2312");
      

  5.   

    首先在发送端:
    response.sendRedirect("url.jsp?sMsg="+java.net.URLEncoder.encode("form名称重复,请重新添加"));
    在接收端:
    String sMsg = new String(request.getParameter("sMsg").getBytes("ISO8859_1"),"GB2312"); <jsp:forward 我没有试过,不过我想应该差不多

      

  6.   

    我看了一下Servlet源码,它将中文转化成了unicode编码,但IE在传送时又要转化一次,是不是有重复转换的问题?因为在传送前应该是扩展的ASCII编码,因此这里有没有办法将字符串转换为扩展ASCII码形式的编码
      

  7.   

    <%request.setCharacterEncoding("GBK")%><jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误" />
    </jsp:forward>
      

  8.   

    <%request.setCharacterEncoding("GBK")%><jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误" />
    </jsp:forward>
      

  9.   

    补充: 
    test.jsp
    <jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误"/>
    </jsp:forward>msg.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    request.setCharacterEncoding("GB2312");
    out.print(request.getParameter("title"));
    %>
    我刚试过,没问题
      

  10.   


    1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):
    (by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class servfilter extends HttpServlet implements Filter {
     private FilterConfig filterConfig;
     //Handle the passed-in FilterConfig
     public void init(FilterConfig filterConfig) {
       this.filterConfig = filterConfig;
     }
     //Process the request/response pair
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
       try {
             request.setCharacterEncoding("GB2312");//设置编码
             ((HttpServletResponse)response).setHeader("Pragma","No-cache");
             ((HttpServletResponse)response).setHeader("Cache-Control","no-cache");
             ((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存
         //自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:)
         filterChain.doFilter(request, response);
       }
       catch(ServletException sx) {
         filterConfig.getServletContext().log(sx.getMessage());
       }
       catch(IOException iox) {
         filterConfig.getServletContext().log(iox.getMessage());
       }
     }
     //Clean up resources
     public void destroy() {
     }
    }下面是在web.xml里的配置:
    (我的是Jbuilder自动生成的)
     <filter>
       <filter-name>servfilter</filter-name>
       <filter-class>beanservlettest.servfilter</filter-class>
     </filter>
     <filter-mapping>
       <filter-name>servfilter</filter-name>
       <url-pattern>/*</url-pattern>     ///这里表示对整个网站都有效
     </filter-mapping>
      

  11.   


    1.用filter解决汉字编码及禁止页面缓存 (不用再在每个页面里去加那几行代码了):
    (by wellsoon@CSDN)package beanservlettest;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class servfilter extends HttpServlet implements Filter {
     private FilterConfig filterConfig;
     //Handle the passed-in FilterConfig
     public void init(FilterConfig filterConfig) {
       this.filterConfig = filterConfig;
     }
     //Process the request/response pair
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
       try {
             request.setCharacterEncoding("GB2312");//设置编码
             ((HttpServletResponse)response).setHeader("Pragma","No-cache");
             ((HttpServletResponse)response).setHeader("Cache-Control","no-cache");
             ((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存
         //自己添加的代码就这上面四行,其它的都是Jbuilder自动生成的:)
         filterChain.doFilter(request, response);
       }
       catch(ServletException sx) {
         filterConfig.getServletContext().log(sx.getMessage());
       }
       catch(IOException iox) {
         filterConfig.getServletContext().log(iox.getMessage());
       }
     }
     //Clean up resources
     public void destroy() {
     }
    }下面是在web.xml里的配置:
    (我的是Jbuilder自动生成的)
     <filter>
       <filter-name>servfilter</filter-name>
       <filter-class>beanservlettest.servfilter</filter-class>
     </filter>
     <filter-mapping>
       <filter-name>servfilter</filter-name>
       <url-pattern>/*</url-pattern>     ///这里表示对整个网站都有效
     </filter-mapping>
      

  12.   

    //test.jsp
    <%@ page contentType="text/html;charset=GBK" %>
    <jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误"/>
    </jsp:forward>//msg.jsp
    <%@ page contentType="text/html;charset=GBK" %>
    <%
    out.print(request.getParameter("title"));
    %>不行的话,就不行了
      

  13.   

    我的服务器是weblogic8.1,我又在tomcat4.1下试了一下,不行,原因是tomcat4.1不支持request.setCharacterEncoding("GB2312");
    但以下程序在tomcat4.1正确
    test.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误"/>
    </jsp:forward>msg.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    out.print(new String(request.getParameter("title").getBytes("ISO8859_1"),"GB2312"));
    %>
    不知道你用的是什么服务器
      

  14.   

    那你升级到tomcat4.1.24吧,我的tomcat是4.1.24
      

  15.   

    补充:tomcat4.1.24支持request.setCharacterEncoding("GB2312"),但必须在<jsp:forward之前调用,如:
    test.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    request.setCharacterEncoding("GB2312");
    %>
    <jsp:forward page="msg.jsp">
    <jsp:param name="title" value="错误"/>
    </jsp:forward>msg.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%
    out.print(request.getParameter("title"));
    %>