servlet乱码解决

servlet中出现乱码的几种情况

get请求通过url进行传参

servlet处理get请求的时候,数据到servlet前就已经被tomcat进行编码了,在tomcat8以前,tomcat的内置编码是iso8859,而中文汉字是无法被iso8859进行编译的,所以就出现了乱码
这个时候我们可以通过字节流进行转码

//从url后面去参数
String jsonData = request.getParameter("jsonData");
 //因为tomcat默认编码为iso8859,所以使用字节的方法进行重新转码(get请求在url上就已经进行过编码了)
jsonData = new String(jsonData.getBytes("ISO8859-1"), "UTF-8");

当然假如你使用的是tomcat8或者以上的版本,那么就不用处理,因为8以后的版本都默认是utf-8

响应到页面时候的乱码

当servlet处理完业务逻辑以后,需要将一些数据返回到页面上,此时也会出现乱码,可以通过设置ContentType进行处理

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

psot接收request对象时候的乱码

这种情况设置request对象的CharacterEncoding编码格式即可

request.setCharacterEncoding("UTF-8");

常见的就这几种

posted @ 2020-02-01 16:49  ccsert  阅读(250)  评论(0编辑  收藏  举报