zoukankan      html  css  js  c++  java
  • POST方式提交乱码解决

    乱码的问题比较常见,确保各地方的编码格式均统一是保证不出现乱码的必要条件,但还是常会有编码都统一了仍然出现乱码的情况。

    第一步:
    确认JSP页面头部是否有:
    <%@ page contentType="text/html; charset=UTF-8" %>

    第二步:

    • 在表单不多的情况的可以偷懒的方式考虑:
    String param= new String(request.getParameter("param").getBytes("ISO-8859-1"), "UTF-8");
     
    • 如果表单太多,建议做统一的转码处理,添加过滤器:
     
    首先,添加一个filter类
    package com.test.commons.work;
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    /**
     * 请求中中文字符串过滤类
     */
    public class SetEncodingFilter implements Filter {
     public void init(FilterConfig filterConfig) throws ServletException {
     }
     public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
      System.out.println("请求转码过滤器===================");
      request.setCharacterEncoding("utf-8");
      chain.doFilter(request, response);
     }
     public void destroy() {
     }
    }

    其次,并在web.xml中添加如下拦截器:

     <filter>
      <filter-name>Set Encoding</filter-name>
      <!--包名+类名-->
      <filter-class>com.test.commons.work.SetEncodingFilter</filter-class>
     </filter>
     <filter-mapping>
      <filter-name>Set Encoding</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>

    这样设置后,每次url访问都会先经过拦截器,对request进行编码。

     
     
  • 相关阅读:
    《秋日》 -- 程颢
    《安乐吟》 -- 邵雍
    《大学》笔记
    《跨越鸿沟》笔记
    庄子《齐物论》—— 方生方死、因是因非是对立统一规律的起源
    《饮酒(其五)》陶渊明
    《亲密关系》笔记
    《人生的智慧》笔记
    《历史的教训》笔记
    《格鲁夫给经理人的第一课》笔记
  • 原文地址:https://www.cnblogs.com/Weagle/p/4368497.html
Copyright © 2011-2022 走看看