服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

tomcat 中jsp不会乱码 但是html中文会乱码

原因有好几个:

没有设置页面编码 tomcat的配置不正确 文件保存的编码格式不是utf-8 等等 下面来讨论解决办法

html页面设置为 utf-8 在页面头部添加<meta>标签

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

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

上一篇:Apache结合Tomcat实现动静分离的方法
下一篇:使用ssh连接docker服务器的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?