如何解决WEB应用中文乱码问题

 

最容易出现乱码的场景是浏览器向服务器发送请求的过程,解决的策略就是强制为请求和响应设置编码格式。web

 

1、POST 方式请求乱码

1. 在每一个 Controller 中单独处理spring

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

 

2. 在 web.xml 中添加编码过滤器浏览器

    <filter>  
        <filter-name>characterEncodingFilter</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>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

2、GET 方式请求乱码

因为  GET 请求的参数是经过 URL 来传递的,因此 POST 设置的编码格式是不起做用的。tomcat

比较简单的的方法,就是在应用容器中配置 URL 编码格式。服务器

修改 tomcat 的配置文件 server.xmlapp

<Connector URIEncoding="UTF-8" port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
connectionTimeout="20000" disableUploadTimeout="true" />

在 Connector 标签中添加 编码

URIEncoding="UTF-8"

 

url

相关文章
相关标签/搜索