• Get、Post请求中文乱码问题有效解决方法


    1、针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式:

    也可以使用编码过滤器来解决,最常用的方法是使用Spring提供的编码过滤器,在Web.xml中增加如下配置(要注意的是它的位置一定要是第一个执行的过滤器):

    <filter>
     <filter-name>charsetFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
     </init-param>
     <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
     </init-param>
    </filter>
    

    该过滤器要做的其实就是强制为所有请求和响应设置编码格式:

    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    

    2.针对Get方式的乱码问题,由于参数是通过URL传递的,所以上面通过request设置的编码格式是不起作用的,此时可以在每次发生请求之前对URL进行编码:

    修改tomcat的配置文件server.xml:
                 <Connector URIEncoding="UTF-8" 
                     port="8080"   maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   connectionTimeout="20000" disableUploadTimeout="true" />

    只需增加 URIEncoding="UTF-8"  这一句,然后重启tomcat即可。

  • 相关阅读:
    转:Redis 3.2.1集群搭建
    转:GET和POST两种基本请求方法的区别
    web.xml中 /和/*的区别
    java main方法里调用mapper
    Java定时任务
    @Resource与@Autowired注解的区别
    解决Eclipse EE部署web项目在Tomcat webapp目录下没有工程文件的问题
    get方式中文参数乱码解决方法
    生成excel并发送给客户端
    java把汉字转换成拼音
  • 原文地址:https://www.cnblogs.com/swbzmx/p/7890246.html
Copyright © 2020-2023  润新知