修复tomcat9.0中文乱码问题

解决Tomcat控制台与Web页面乱码问题
该博客主要介绍了如何在Apache Tomcat 9.0.24中解决控制台和Web页面的乱码问题。对于控制台乱码,只需将logging配置文件中的UTF-8替换为GBK。对于Web页面乱码,需在incatalina文件中添加JAVA_OPTS设置,并在server文件中配置useBodyEncodingForURI和URIEncoding为UTF-8。完成修改后,清除浏览器缓存并刷新页面即可看到效果。

以下操作均要在tomcat关闭的情况下进行修改,如果tomcat在运行,请先关闭

1:控制台乱码

定位apache-tomcat-9.0.24conflogging文件,将里面的UTF-8全部改成GBK即可

2:web页面乱码

(1):定位apache-tomcat-9.0.24incatalina文件,打开并在最上方@echo off的下面加上以下代码

set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8”

(2):定位apache-tomcat-9.0.24confserver文件,在下图位置加上

useBodyEncodingForURI=“true” URIEncoding="UTF-8"代码即可

(3):页面清除缓存(ctrl+shift+del),重新刷新即可

D:\apache-tomcat-9.0.37\bin>catalina.bat run Using CATALINA_BASE: "D:\apache-tomcat-9.0.37\" Using CATALINA_HOME: "D:\apache-tomcat-9.0.37\" Using CATALINA_TMPDIR: "D:\apache-tomcat-9.0.37\\temp" Using JRE_HOME: "D:\jdk11_jb51" Using CLASSPATH: "D:\apache-tomcat-9.0.37\\bin\bootstrap.jar;D:\apache-to cat-9.0.37\\bin\tomcat-juli.jar" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED -add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport ALL-UNNAMED java.util.logging.ErrorManager: 4: Unable to create [D:\apache-tomcat-9.0.37" - catalina.home=D:\apache-tomcat-9.0.37"\logs] java.util.logging.ErrorManager: 4: Unable to create [D:\apache-tomcat-9.0.37" - catalina.home=D:\apache-tomcat-9.0.37"\logs] java.util.logging.ErrorManager: 4: Unable to create [D:\apache-tomcat-9.0.37" - catalina.home=D:\apache-tomcat-9.0.37"\logs] java.util.logging.ErrorManager: 4: Unable to create [D:\apache-tomcat-9.0.37" - catalina.home=D:\apache-tomcat-9.0.37"\logs] 04-Aug-2012 21:06:15.779 涓ラ噸 [main] org.apache.catalina.startup.Bootstrap.in tClassLoaders Class loader creation threw exception java.lang.IllegalArgumentException: The double quote ["] character can nly be used to quote paths. It must not appear in a path. This loader path is n t valid: ["D:\apache-tomcat-9.0.37" -Dcatalina.home=D:\apache-tomcat-9.0.37"/li ","D:\apache-tomcat-9.0.37" -Dcatalina.home=D:\apache-tomcat-9.0.37"/lib/*.jar" "D:\apache-tomcat-9.0.37/lib","D:\apache-tomcat-9.0.37/lib/*.jar"] at org.apache.catalina.startup.Bootstrap.getPaths(Bootstrap.jav :593) at org.apache.catalina.startup.Bootstrap.createClassLoader(Boot trap.java:170) at org.apache.catalina.startup.Bootstrap.initClassLoaders(Boots rap.java:144) at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:25 ) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:44 ) D:\apache-tomcat-9.0.37\bin>
06-27
D:\桌面\apache-tomcat-9.0.106\bin\catalina.bat run [2025-07-01 04:58:52,949] 工件 test1:war exploded: 正在等待服务器连接以启动工件部署… Using CATALINA_BASE: "C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959" Using CATALINA_HOME: "D:\����\apache-tomcat-9.0.106" Using CATALINA_TMPDIR: "D:\����\apache-tomcat-9.0.106\temp" Using JRE_HOME: "C:\Program Files\Java\jdk-21" Using CLASSPATH: "D:\����\apache-tomcat-9.0.106\bin\bootstrap.jar;D:\����\apache-tomcat-9.0.106\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 01-Jul-2025 16:58:53.651 警告 [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [D:\桌面\apache-tomcat-9.0.106\lib], exists: [false], isDirectory: [false], canRead: [false] 01-Jul-2025 16:58:53.653 警告 [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [D:\桌面\apache-tomcat-9.0.106\lib], exists: [false], isDirectory: [false], canRead: [false] 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.106 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 5 2025 19:02:30 UTC 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.106.0 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk-21 01-Jul-2025 16:58:53.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 21.0.7+8-LTS-245 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\桌面\apache-tomcat-9.0.106 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 01-Jul-2025 16:58:53.884 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 01-Jul-2025 16:58:53.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 01-Jul-2025 16:58:53.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\conf\logging.properties 01-Jul-2025 16:58:53.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 01-Jul-2025 16:58:53.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 01-Jul-2025 16:58:53.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 01-Jul-2025 16:58:53.886 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 01-Jul-2025 16:58:53.886 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\jmxremote.password 01-Jul-2025 16:58:53.886 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959\jmxremote.access 01-Jul-2025 16:58:53.886 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 01-Jul-2025 16:58:53.886 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 01-Jul-2025 16:58:53.887 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 01-Jul-2025 16:58:53.887 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 01-Jul-2025 16:58:53.887 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dignore.endorsed.dirs= 01-Jul-2025 16:58:53.887 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2025.1\tomcat\9af9a62d-8cc4-48aa-b9a7-b9fd6acf1959 01-Jul-2025 16:58:53.887 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=D:\桌面\apache-tomcat-9.0.106 01-Jul-2025 16:58:53.888 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=D:\桌面\apache-tomcat-9.0.106\temp 01-Jul-2025 16:58:53.892 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.4]加载了基于APR的Apache Tomcat本机库[1.3.1]。 01-Jul-2025 16:58:53.892 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。 01-Jul-2025 16:58:53.892 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 01-Jul-2025 16:58:53.897 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.0.14 4 Jun 2024] 01-Jul-2025 16:58:54.061 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 01-Jul-2025 16:58:54.079 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[371]毫秒内初始化 01-Jul-2025 16:58:54.183 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 01-Jul-2025 16:58:54.184 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.106] 01-Jul-2025 16:58:54.209 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 01-Jul-2025 16:58:54.264 信息 [main] org.apache.catalina.startup.Catalina.start [183]毫秒后服务器启动 已连接到服务器 [2025-07-01 04:58:54,601] 工件 test1:war exploded: 正在部署工件,请稍候… 01-Jul-2025 16:58:56.112 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 01-Jul-2025 16:58:56.224 信息 [RMI TCP Connection(2)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: initialization started Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 01-Jul-2025 16:58:57.190 信息 [RMI TCP Connection(2)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext initialized in 966 ms 01-Jul-2025 16:58:57.220 信息 [RMI TCP Connection(2)-127.0.0.1] org.springframework.web.servlet.FrameworkServlet.initServletBean Initializing Servlet 'dispatcher' 01-Jul-2025 16:58:57.687 信息 [RMI TCP Connection(2)-127.0.0.1] org.springframework.web.servlet.FrameworkServlet.initServletBean Completed initialization in 467 ms [2025-07-01 04:58:57,703] 工件 test1:war exploded: 工件已成功部署 [2025-07-01 04:58:57,703] 工件 test1:war exploded: 部署已花费 3,102 毫秒 01-Jul-2025 16:59:04.225 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\桌面\apache-tomcat-9.0.106\webapps\manager] 01-Jul-2025 16:59:04.262 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\桌面\apache-tomcat-9.0.106\webapps\manager]的部署已在[37]毫秒内完成
最新发布
07-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值