http://www.blogjava.net/eamoi/archive/2005/12/05/22516.html这个连接中两个页面都用的是gb2312编吗,我用的是gbk编码,所以两个页面,我都改gbk编码了,另外,我在web.xml设置了字码编码过滤器。不知道这个楼主是怎么设置的,估计没有设置。因为在第二页有转码形为。问题是:
我在输入"中国"二字的时候,显示很正常,我输“利”这个字以后,就开始乱码,输入“利益"二字,又很正常,当然还有其它不正常的现象,期待高人的出现.
我在输入"中国"二字的时候,显示很正常,我输“利”这个字以后,就开始乱码,输入“利益"二字,又很正常,当然还有其它不正常的现象,期待高人的出现.
首先,我不知道这个贴发的是不是地方,按说应该发到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);
现在开始测试:在用户名中输入"中国",提示是中国,显示正常
输入"利" 显示不正常,输入“利益"正常,我只测试了这几个,还有一些没有测试,肯定也有不正常的,我不知道这是为什么??请各位指教。