http://www.blogjava.net/eamoi/archive/2005/12/05/22516.html这个连接中两个页面都用的是gb2312编吗,我用的是gbk编码,所以两个页面,我都改gbk编码了,另外,我在web.xml设置了字码编码过滤器。不知道这个楼主是怎么设置的,估计没有设置。因为在第二页有转码形为。问题是:
我在输入"中国"二字的时候,显示很正常,我输“利”这个字以后,就开始乱码,输入“利益"二字,又很正常,当然还有其它不正常的现象,期待高人的出现.

解决方案 »

  1.   

    太感谢了,有人回应,我都激动。
    首先,我不知道这个贴发的是不是地方,按说应该发到JSP或是ajax里,但我相信这里也有高人。我要说的是:
    我给的那个连接,有两个页面form.jsp和form_handle.jsp两个页面,我把代码复制下来生成了这两个文件,然后,因为他的页面编码是gb2312的,我都改成gbk的了,就是这行
    <%@ page contentType="text/html; charset=gb2312"%>
    改成如下:
    <%@ page contentType="text/html; charset=gbk"%>另外,我设置编码过滤器,就是
    <filter>
        <filter-name>Request Character Encoding</filter-name>
        <filter-class>cn.ehoo.srvmanager.util.RequestCharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>GBK</param-value>
        </init-param>
        <init-param>
          <param-name>ignore</param-name>
          <param-value>true</param-value>
        </init-param>
    </filter>这个,所以,在form_handle.jsp里面,我又改了一下:
    如下:
    String username = new String(request.getParameter("username").getBytes("GBK"),"UTF8");
    String password = request.getParameter("password");
    System.out.println("用户名:"+username);
    System.out.println("密码:"+password);
    out.println(username+"|"+password);
    现在开始测试:在用户名中输入"中国",提示是中国,显示正常
    输入"利" 显示不正常,输入“利益"正常,我只测试了这几个,还有一些没有测试,肯定也有不正常的,我不知道这是为什么??请各位指教。
      

  2.   

    new String(request.getParameter("username").getBytes("GBK"),"UTF8");?  why?form_handle.jsp页面编码跟前面页面编码要一致