tomcat 中jsp不会乱码 但是html中文会乱码
原因有好几个:
没有设置页面编码 tomcat的配置不正确 文件保存的编码格式不是utf-8 等等 下面来讨论解决办法
html页面设置为 utf-8 在页面头部添加<meta>
标签
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"/>
设置 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 (我的是108行左右)修改为下面所示:
<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
tomcat重启:
如果你的toamcat已经启动:在命令行中进入tomcat安装目录
C:\tomcat\bin>stutdown
之后 C:\tomcatbin>startup
这样tomcat完成了一次重启。