解决java请求中文乱码

时间:2020-05-21 22:40:17 类型:JAVA
字号:    

在实际开发中我们经常遇到request请求的中文乱码,那么如何解决中文乱码问题?


方法一:对请求参数进行编码转换


String userName=request.getParamter("userName");


userName=new String(userName.getByte("iso-8859-1"),"utf-8");


方法二:对请求头进行编码转换


request.setCharacterEncoding("UTF-8");


备注:该方法只对POST方式提交的数据有效,对GET方式提交的数据无效!


方法三:对tomcat服务器server.xml文件设置编码


 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

只对get请求有效但是对于post请求没有用


SpringMVC控制器时可使用

<!-- Spring字符集过滤器 -->
<filter>
    <filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


<