解决方案一:(不建议使用该方案,因为我发现这个方案确实可以解决html乱码问题,但是在这之后从html提交表单到servlet的话,servlet拿到的数据就会乱码,而且是不管你怎么设置都是乱码,很令人头疼)
在运行/调试 配置对话框的Startup/Connection面板中,
勾选Pass environment variables,
并添加一个environment variable
Name填JAVA_TOOL_OPTIONS
Value填-Dfile.encoding=UTF-8



点击OK,重启Tomcat。乱码问题就完美解决了。
解决方案二:
找到Tomcat安装路径的conf目录

对web.xml文件修改,添加
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>

对server.xml文件进行修改,添加
URIEncoding="UTF-8"

修改后记得保存,最后重启Tomcat就好了,如还是乱码就清理一下浏览器缓存。
thanks for good website