tomcat篇-windows 运行tomcat的startup.bat时,终端打印的中文显示为乱码

当运行Tomcat的startup.bat时,如果终端中中文显示为乱码,这通常是因为Tomcat使用的日志输出编码与Windows命令行默认的编码不匹配。针对这一问题,你可以尝试以下步骤来解决:

1、执行startup.bat,在输出的窗口右击,查看属性,显示的cmd窗口的编码格式为GBK,如图

此时要修改tomcat的log日志输出格式改为GBK,和cmd格式一致。

修改Tomcat的logging配置

  • 进入Tomcat的安装目录,找到conf文件夹中的logging.properties文件。
  • 编辑该文件,找到如下一行(如果没有,可能需要手动添加):
  • java.util.logging.ConsoleHandler.encoding = UTF-8
  • 将其修改为:
  • java.util.logging.ConsoleHandler.encoding = GBK
  • 保存文件,然后重新启动Tomcat,如图

3、再次运行startup.sh,输出日志正常,如图

其它解决方案

  1. 改变CMD窗口的代码页

    • 在启动Tomcat前,先通过命令行更改CMD的编码。打开命令提示符,输入以下命令来更改代码页为UTF-8(如果你的Tomcat配置为UTF-8):

      复制代码
      1chcp 65001

      如果你的系统显示更适应GBK编码,可以使用:

      复制代码
      1chcp 936
    • 然后在同一命令行窗口中运行startup.bat

  2. 永久修改CMD的默认代码页(可选):

    • 如果你希望每次打开命令提示符时都使用特定的代码页,可以修改注册表。但请注意,修改注册表需谨慎,错误操作可能导致系统问题。
  3. 检查系统区域设置

    • 确保你的系统区域设置和语言偏好设置正确,有时候这些设置也会影响命令行窗口的默认编码。
相关推荐
唐青枫16 小时前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring
小bo波1 天前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking1 天前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才1 天前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1111 天前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
plainGeekDev2 天前
单例模式 → object 声明
android·java·kotlin
用户298698530142 天前
Java 实现 Word 文档文本与图片提取的方法
java·后端
SimonKing2 天前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
咖啡八杯2 天前
GoF设计模式——策略模式
java·后端·spring·设计模式