介绍

首先这是一个简单的操作,读取在webapp目录下的一个day04.html文件,并将其返回给浏览器

代码如下

// 返回 day04.jsp 文件
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("UTF-8");
        request.setAttribute("CharacterEncoding","UTF-8");
        request.getRequestDispatcher("/day04.jsp").forward(request, response);

很明显格式都设置正常了,但还是乱码,

day04.html部分代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>

查询资料得知,可能是Tomcat服务器编码配置问题

TOmcat的配置文件server.xml其中的一部分

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

也设置为了utf8格式,还是乱码

经过检测,发现将day04.html文件转化为day04.jsp文件解决问题

建议,以后的java web项目还是使用jsp文件来代替html文件 (有大佬知道解决方案请在评论区留言)