请求乱码的解决
默认编码ISO-8859-1,该编码内没有中文编码,所以会乱码
- 利用字符串重构
String param=new String(req.getParameter("param").getBytes("iso-8859-1"),"utf-8");
- 针对post请求,参数在请求体中,只需要在获取请求参数前设置请求对象的编码
req.setCharacterEncoding("utf-8");
- get请求,jdk1.8之后地址栏默认utf-8,如果低版本出现乱码,在服务器配置文件server.xml中的<Connector >中添加属性URIEncoding=“utf-8”
响应乱码的解决
- 在响应之前设置响应对象编码
resp.setCharacterEncoding("utf-8");
- 设置浏览器的解析方式
- 跟HTML中meta标签功能一致
- 普通文本 text/plain
- HTML文本 text/html
- XML文本 text/xml
- 跟HTML中meta标签功能一致
resp.setContentType("text/plain;charset=utf-8");