前言
JSP页面乱码让人捉摸不定,现在总结以下几种场景下的解决办法。
解决思路
1.查看jsp文件头是否设置了编码格式:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
顺便设置
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2.查看项目的编码格式:设置为UTF-8
project–》properties:
jsp文件如果是直接复制的,也要查看一下,右键jsp文件,选择properties,设置编码格式:
3.上面一般解决的是页面本身中文的乱码,如果还有问题,比如提交的表单乱码等问题,需要在请求头响应头设置编码:
//设置编码格式
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
4.最后还没解决乱码的话,设置tomcat服务器编码格式,默认情况下,tomcat使用的的编码方式:iso8859-1,打开setting.xml文件(在tomcat文件夹conf中)
找到如下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。
可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)
以UTF-8的编码处理get请求。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8>
参考:
JSP页面中高级解决办法
https://blog.csdn.net/Marry1234789/article/details/52895082