tomcat日志中文乱码问题及解决方案

 更新时间:2025年11月13日 16:21:59   作者:普通网友  
文章主要介绍了在使用Tomcat时遇到的乱码问题及其解决方法,页面输出乱码可能由于server.xml配置、HTML标签、编程输出编码不一致引起,解决方法包括统一编码格式,控制台输出乱码可能是由于Windows默认编码集为GBK

平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,要么是控制台输出乱码或者输出日志乱码,要么页面接收乱码,非常烦人。

引起乱码的原因多个,从网上学习了很多,现在尝试简单总结给大家分享

一、页面输出乱码

有三种可能

1.server.xml配置未注明编码格式

浏览器本身有自己的显示编码格式,tomcat的输出也有自己的格式,甚至我们在编写代码的过程中也可以指定输出的编码格式。所以这类原因导致的乱码,需要我们保持各种编码格式统一:

  • a.在tomcat中将server.xml 的我们所用的端口的配置添加URIEncoding=“UTF-8”

  • b.在html的标签内加上meta标签

  • c.最好在编程中输出页面的时候指定编码为UTF-8

2.catalina.bat的配置问题

在 omcatincatalina.bat这个配置文件中加上

set JAVA_OPTS=-Dfile.encoding=UTF-8

3.用编译工具

在IDEA编译器中的VM options:设置-Dfile.encoding=UTF-8,或eclipse 的设置中改成utf-8 输出的问题可以解决

二、控制台输出乱码

这个问题的原因是windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。

打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。所以tomcat的命令框和输出日志都是乱码

解决的办法有两个:

1.修改cmd命令行的编码

  • a.打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat
  • b.找到CodePage项,没有则创建,更改值为十进制的65001

2.修改logging.properties配置

  • a.打开tomcat/conf/logging.properties
  • b.添加语句:
java.util.logging.ConsoleHandler.encoding = GBK
  • c.重启tomcat,查看日志数据即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Tomcat启动闪退的解决方法总结

    Tomcat启动闪退的解决方法总结

    有没有碰到过这种情况:你满怀期待地启动Tomcat,结果它闪了一下就消失了?是的,没错,Tomcat君在跟你玩捉迷藏呢!别担心,今天我们就来一探究竟,揭开这个神秘的面纱,感兴趣的小伙伴跟着小编一起来看看吧
    2024-07-07
  • tomcat获取执行的线程池信息和线程堆栈的方法详解

    tomcat获取执行的线程池信息和线程堆栈的方法详解

    这篇文章主要给大家介绍了tomcat获取执行的线程池信息和线程堆栈的方法,文章通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • 详解Tomcat如何实现Comet

    详解Tomcat如何实现Comet

    Comet模式是一种服务器端推技术,它的核心思想提供一种能让当服务器端往客户端发送数据的方式。本篇文章主要介绍了Tomcat如何实现Comet,有兴趣的可以了解一下。
    2016-12-12
  • 解析在Tomcat中启用虚拟线程特性

    解析在Tomcat中启用虚拟线程特性

    这篇文章主要介绍了在Tomcat中启用虚拟线程特性,准备好嵌入式Tomcat的依赖,需要引入三个依赖包,分别是tomcat-embed-core、tomcat-embed-el和tomcat-embed-websocket,版本选用10.1.0+ ,本文结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-10-10
  • 使用jconsole监听远程Tomcat服务的方法

    使用jconsole监听远程Tomcat服务的方法

    这篇文章主要介绍了使用jconsole监听远程Tomcat服务,需要的朋友可以参考下
    2018-09-09
  • 深入浅析Centos 7系统的Tomcat服务器

    深入浅析Centos 7系统的Tomcat服务器

    tomcat最初是由Sun的软件架构师詹姆斯 邓肯 戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。这篇文章主要介绍了Centos 7系统的Tomcat服务器的相关知识,需要的朋友可以参考下
    2019-12-12
  • Tomcat10配置端口号为443(使用https访问)

    Tomcat10配置端口号为443(使用https访问)

    tomcat配置好了以后默认是使用8080端口访问的,本文主要介绍了Tomcat10配置端口号为443,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Tomcat 的核心脚本catalina.sh 和 startup.sh的关系及区别介绍

    Tomcat 的核心脚本catalina.sh 和 startup.sh的关系及区别介绍

    catalina.sh和startup.sh都是Tomcat的核心脚本,但它们的角色和使用场景有所不同,下面给大家介绍Tomcat的核心脚本catalina.sh和startup.sh的关系及区别介绍,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • 基于IDEA部署Tomcat服务器的步骤详解

    基于IDEA部署Tomcat服务器的步骤详解

    这篇文章主要介绍了基于IDEA部署Tomcat服务器,并在上面创建第一个servlet程序,实现前后端交互,然后做一个简单的四则运算计算器,需要的朋友可以参考下
    2021-04-04
  • Centos环境下搭建Tomcat服务器的实战详解

    Centos环境下搭建Tomcat服务器的实战详解

    这篇文章将从环境配置开始,为大家一步步讲解如何安装Java,配置环境变量,下载并启动Tomcat,甚至包括一些常见问题的解决办法,希望对大家有所帮助
    2025-05-05

最新评论