jsp 表单 中文 问号

一jsp注册页面,需要填写姓名、密码、地址等。。。,姓名用中文,如果密码格式不正确,点击提交按钮,将提示密码格式错误。而此时中文的姓名变成了问号,我在jsp页面设置了字符集为gbk,怎么还这样???谢谢

这个不是页面编码的问题,但是介意改成UTF-8或者GB2312

这个问题主要是获取参数的问题,有很多种解决办法?可以写个filter来专门编码转换,网上有很多转换,你自己看看,太多种了。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-08
这个还需要在JSP页面中对于数据进行再次的编码

在你使用Request获得对象前,使用

Request.setCharacterEncoding("GBK")

上面这个方法的名字我没有记太清,大概就是这个了
第2个回答  2008-10-08
页面顶端全部加上:
<%@ page contentType="text/html;charset=GBK"%>
<% request.setCharacterEncoding("GBK") ; %>

form的提交方式为post

参考资料:http://hi.baidu.com/chinagenius/blog/item/3707081b08a2afd3ad6e7512.html

第3个回答  2008-10-08
在你接收注册页面传递过来的姓名之前,先写下Request.setCharacterEncoding("GBK") ,虽然你可能在页面的最顶端设置了字符集为gbk,但这只是代表页面的编码。
第4个回答  2008-10-15
在web.xml里添加
<filter>
<filter-name>charFiler</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charFiler</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第5个回答  2008-10-08
你没有设置中文转换