当前位置 博文首页 > 文章内容

    解决tomcat 静态页面(html)中文乱码的解决终极篇

    作者:21344 栏目:未分类 时间:2021-01-12 14:43:00

    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完成了一次重启。