form表单提交编码的问题
2015-01-20 17:11
337 查看
浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urlencoded; charset=UTF-8
那么我们如果需要修改编码,不使用默认的,那么可以如下这样操作修改编码,来满足需求:
hmtl代码:
,那么此HTML的form表单将以GBK的编码方式提交数据。
这里补充一点就是,上面这种情况要生效,还有一个条件是(enctype必须是multipart/form-data类型)
):
当然,如果不想这样,不使用这种方式,那么就得搞个过滤器,在过滤器中request中设置你希望的编码,方能达到表单post提交不乱码的效果。
public class EncodingFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req= (HttpServletRequest) arg0;
req.setCharacterEncoding("GBK");
arg2.doFilter(req, arg1);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
那么我们如果需要修改编码,不使用默认的,那么可以如下这样操作修改编码,来满足需求:
hmtl代码:
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
,那么此HTML的form表单将以GBK的编码方式提交数据。
这里补充一点就是,上面这种情况要生效,还有一个条件是(enctype必须是multipart/form-data类型)
):
<form action="" method="post" enctype="multipart/form-data"></form>
当然,如果不想这样,不使用这种方式,那么就得搞个过滤器,在过滤器中request中设置你希望的编码,方能达到表单post提交不乱码的效果。
public class EncodingFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req= (HttpServletRequest) arg0;
req.setCharacterEncoding("GBK");
arg2.doFilter(req, arg1);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
相关文章推荐
- 利用form的“accept-charset”在不同编码的页面间提交表单
- 利用form的“accept-charset”在不同编码的页面间提交表单
- form表单提交编码介绍
- form有2中方法把数据提交给服务器-编码问题
- 解决multipart/form-data表单中传递参数问题(动态更改表单提交URL)
- 利用form的“accept-charset”在不同编码的页面间提交表单
- struts2/jsp 通过form表单方式或者js的方式提交请求,封装boolean值的问题
- jsp中form表单提交到serlvet中文乱码问题
- FORM表单提交大量数据溢出问题
- 今天遇到一个问题,原来在html的form中如果只有一个type="text"的控件,如果在text中点击回车键,就是自动提交表单!
- 解决Form表单重复提交问题
- IE下使用form表单提交到iframe中出现的重复提交问题
- 对 javaEye上帖子 form表单提交数据编码方式和tomcat接受数据解码方式的思考 的一点理解
- form 表单自动提交问题
- 表单提交中form.action,form.submit()问题
- FORM表单重复提交问题解决方法
- [转]form表单提交数据编码方式和tomcat接受数据解码方式的思考
- IE下使用form表单提交到iframe中出现的重复提交问题
- 摘录:网页form表单重复提交的问题
- form表单提交与input相关问题