tomcat 中jsp不会乱码 但是html中文会乱码
原因有好几个:
没有设置页面编码 tomcat的配置不正确 文件保存的编码格式不是utf-8 等等
下面来讨论解决办法:
html页面设置为 utf-8 在页面头部添加<meta>标签
1. tomcat的server.xml配置
(1) 添加 URIEncoding=“UTF-8”
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
(2)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
2. 设置 tomcat中 catalina.bat (jvm的编码)
在catalina.bat 中set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
下面 添加 : -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
如下所示:
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
设置tomcat的 web.xml(大概是110+10行)修改为下面所示:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
以上是解决tomcat乱码的解决办法 配置后要重启tomcat
如果是IDEA创建的html文件,需要将该html文件在VSCODE中 打开。
然后就不会出现乱码了。