1、问题描述
写一个简单登录页
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录</title>
<style>
form {
width: 300px;
height: 200px;
border: 1px solid #ccc;
margin: 200px auto 0;
text-align: center;
}
input {
margin-top: 20px;
}
</style>
</head>
<body>
<form action="/login" method="post">
用户名<input type="text" name="username"><br>
密码<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
启动tomcat后页面乱码
2、解决方式
首先介绍我最终解决的方式
1、修改web.xml配置
打开Tomcat安装目录下的 conf\web.xml 文件
找到117行
添加编码格式配置
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
最终效果
保存修改并重启Tomcat
仍然是乱码
清理浏览器缓存(重要)
显示正常
如果以上操作不能解决问题,可以尝试以下方式
2、修改server.xml
编辑Tomcat安装目录中 conf\server.xml 文件
在73行添加
URIEncoding="UTF-8"
最终结果为
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
URIEncoding="UTF-8"
/>
3、修改catalina.bat(非必要不使用)
编辑安装目录下的 bin\catalina.bat 文件
在(216行)
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
后添加
-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8