你在JSP页面最上面使用这个指令试试:
<%@page contentType="text/html,charset=GBK"%>

解决方案 »

  1.   

    楼上的那句,然后加上request.encoding()等等的东西,具体的写法可能不是这样,就是高速编码方式是中文
      

  2.   

    一般都是在获取表单数据之前先设置编码方式request.setCharacterEncoding("GBK");
    在页面里显示有页面的指令<%@page contentType="text/html,charset=GBK"%>
    显示出来都没问题的
      

  3.   

    http://blog.csdn.net/joyous/archive/2007/02/07/1504274.aspx S P 中文乱码处理解决方案 基于Tomcat中间件处理JSP遇到中文时出现乱码问题解决方案: 鉴于网络上各种各样的解决方案,有基于环境、有基于URI等,最终确定为避免兼容性问题,以运行代码自我设置来解决。 JSP代码中的 JAVA 字符编码设置 <%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><%@page import="java.net.URLEncoder"%>(好像上条语句并非必要) 红色为制定JSP处理字符采用UTF-8编码处理方式。 <%request.setCharacterEncoding ("UTF-8");%>JSP内JAVA代码设定接收参数为UTF-8编码 JSP 内 HTML 头的编码设置<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">    <title>Note Page</title>  </head>  <body>………… 红色部分UTF-8制定HTML页面使用的编码方式 <form action=index.jsp method="post"><h3>Please Input Your Name:</h3><input type="text" size="30" name="yourname"  value="" ><input type=submit  value="提交"></form> 接收代码如下: <%String temp1 = request.getParameter ("yourname");……%> 超链接参数传递方式略有不同,若只采用以上设定,遇中文参数,因编码不同,会导致部分文字信息丢失,所以在提交前务必进行编码。 <a href="<%=request.getContextPath()%>/index.jsp?传递的参数名=<%=java.net.URLEncoder.encode (传递的汉字变量,"UTF-8")%>"><%=超链接热点显示内容%></a> 由 java.net.URLEncoder.encode 函数将要发送的变量解析为16进制数字编码,进行URL传递,接收代码如下: <%String str = request.getParameter ("传递的参数名");%> 由此,获得参数后的 str 内将是正确的中文信息。     完毕将完美解决中文字符参数问题,无需对服务器环境进行任何设置,有效提高兼容性。        安全问题不属本文范畴,请各位自行处理。
      

  4.   

    <%@page contentType="text/html,charset=GBK"%>
      

  5.   

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    放到第一或二行
      

  6.   

    把上面的改成这个试试
    <%@ page language="java" pageEncoding="gbk" contentType="text/html;charset=gbk"%>还有进入 window--> preferences --> Genaral--> contentType 把jsp默认的编码类型改成gbk
      

  7.   

    给你个过录器
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.UnavailableException;public class SetCharacterEncodingFilter implements Filter {
        public void destroy() {
        }
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)throws IOException, ServletException {    request.setCharacterEncoding("UTF-8");    // 传递控制到下一个过滤器
        chain.doFilter(request, response);
        }    public void init(FilterConfig filterConfig) throws ServletException {
        }
    }web.xml 加上<filter> 
    <filter-name>Set Character Encoding</filter-name> 
    <filter-class>SetCharacterEncodingFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern> 
    </filter-mapping>
      

  8.   

    加个过滤器啦
    代码是:
     public void doFilter(ServletRequest request, ServletResponse response,
                           FilterChain filterChain) {
        try {
          request.setCharacterEncoding("GBK");//用于处理POST方法传过来的表单的
          filterChain.doFilter(request, response);
        }
        catch (ServletException sx) {
          filterConfig.getServletContext().log(sx.getMessage());
        }
        catch (IOException iox) {
          filterConfig.getServletContext().log(iox.getMessage());
        }
      }
    而GET方法穿过来的就用
      nstr = new String(ostr.getBytes("ISO-8859-1"),"GBK");处理啦
      nstr - 新字符串
      ostr - 从request中得到的字符串
      

  9.   

    我也碰到过,,不管用什么方法好像都不行,,但是在表单中的提交方式改为POST就OK,用GET就显乱码,,有没有好的解决方案呀,,,顶上去~~~~~~~~~~~~~~~~~~~~~``