form表单提交编码的问题
生活随笔
收集整理的這篇文章主要介紹了
form表单提交编码的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
瀏覽器在form提交后,會生成一個HTTP的頭部信息"content-type",標準規定其形式為Content-type: application/x-www-form-urlencoded; charset=UTF-8?
?
?
?
那么我們如果需要修改編碼,不使用默認的,那么可以如下這樣操作修改編碼,來滿足需求:
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 {@Overridepublic void destroy() {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubHttpServletRequest req= (HttpServletRequest) arg0;req.setCharacterEncoding("GBK");arg2.doFilter(req, arg1);}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的form表单提交编码的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: liunx上mysql源码安装mysql
- 下一篇: 2022-2028年中国社区体育产业深度