java web开发中有关GET、POST请求编码乱码问题

一、GET乱码问题

  1.页面向后台发送请求的时候,如果你的后台接收格式不是ISO8859-1的话,则会出现乱码问题。由于tomcat的默认编码格式为ISO8859-1,可以更改tomcat的编码格式一般统一为utf-8;

  找到安装tomcat的server.xml文件添加上一下标红内容即可;

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

  2.第二种方式,接收到前台参数例如(name),先通过解码器进行解码,然后在用正确的编码进行编码

    方式一:name= new String(name.getBytes("iso8859-1"), "utf-8");

    方式二:name1 = URLDecoder.decode(name,“iso8859-1”)解码

        name2 = URLEncoder.encode(name1,“utf-8”) 编码

二、POST请求乱码问题

  1.如果使用的是springmvc框架,配置一个拦截器就可以了

<!-- post中文编码乱码问题 -->
<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>
</filter>


<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 

 

 

 

 

 

 

  

 

 2.页面的编码格式

  1)jsp页面

  <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

  2)html 忽略,使用IDE时查看即可;

 注意:post请求只要对应正确编码就OK的;

 

 

        

posted @ 2017-10-30 19:43  ArvinChen  阅读(677)  评论(0)    收藏  举报