EasyGoingHulk

导航

Servlet's characters of get and post

Tomcat默认是使用ISO8859-1来解码的,ISO8859-1是不支持中文的。

1、post请求解决乱码原因:

服务器不知道按哪种编码来处理HTML等文件来响应给浏览器的,所以处理post请求时,归根结底就是要处理response给浏览器的编码模式

切记:处理编码的代码段,一定要放置在获取写出流之前,在第一次使用response之前 即

放置在response.getWrite()之前。

三种格式如下:

  1.1 response.setContentType("text/html;charset=utf-8");

 

  1.2      response.setContentType("text/html");

        response.setCharacterEncoding("utf-8");

 

  1.3 response.addHeader("ContentType","text/html;charset=utf-8");      

 

 

2、get请求解决乱码原因:   

浏览器在提交请求时,域名后的参数已经进行tomcat自带的ISO8859-1编码来进行编码了,所以要在服务器接收请求之前就告知服务器如何编码

即在tomcat服务器下的server.xml下修改参数:

 

 

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

 

 

3、其余乱码原因:

其余的项目乱码问题,基本都是因为设置ide、project或者page时,没有进行设置编码格式,导致编码与解码出现偏差!

 

 

 

 

 

 

 

posted on 2020-02-23 12:12  EasyGoingHulk  阅读(77)  评论(0编辑  收藏  举报