tomcat8.5 启动控制台日志乱码

2023-11-10

使用IDEA在本地启动tomcat进行调试时,发现日志/页面会出现乱码的情况,通过以下方式解决问题。

以下操作全部在Windows10系统中。

  • 直接启动tomcat会出现控制台汉字乱码的问题。

这是因为 tomcat启动默认编码 UTF-8,windows系统默认编码市 GBK,所以最简单的方式就是将tomcat的默认编码改为GBK即可。

找到tomcat目录下的 conf/logging.properties 文件,将如下配置修改为GBK

java.util.logging.ConsoleHandler.encoding = GBK
  •  Catalina.log 和localhost.log出现乱码情况,可以尝试以下修改
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK
 
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK
 
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.encoding = GBK
 
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBK
 
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
  •   访问页面乱码

尝试conf/server.xml,在Connector标签中加入 URIEncoding = "UTF-8" ,无效

<Connector connectionTimeout="20000"
     port="8080"
     protocol="HTTP/1.1"
     redirectPort="8443"
     maxPostSize="0"
     URIEncoding="UTF-8"/

修改bin/catalina.bat,可能会导致 tomcat启动异常 ,无效

set “JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding=UTF-8

最后,修改  conf/web.xml  问题解决

<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>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tomcat8.5 启动控制台日志乱码 的相关文章

随机推荐

  • U盘病毒 hypertrm.exe 修复

    1 最近电脑中了这种病毒 没有直观的感觉 不会蓝屏 也不会有其他任何异样 恶心的是他在我每次插入U盘的时候会提示INF默认安装 我没有对病毒样本做分析 感觉他只是创建了系统钩子 导致我尽管杀掉了u盘里所有的病毒 再次插上一切还会重来 2 解
  • String转字节数组

    Java语言中字符串类型和字节数组类型相互之间的转换是经常发生的 网上的分析以及代码也比较多 本文将分析分析常规的byte 和String之间的转换 1 String转byte 就是调用String类的getBytes 方法 如果没有带参数
  • 企业微信中授权小程序

    授权的时候先判断当前小程序运行环境 使用企业微信专有接口wx getSystemInfo if res environment wxwork 企业微信环境 wx qy login 获取企业微信派发的临时登录凭证 success res gt
  • PCL 计算点云的主曲率

    目录 一 算法原理 1 算法源码 2 特别提醒 3 曲率显示 二 代码实现 三 结果展示 四 测试数据 一 算法原理 1 算法源码 template
  • 用消息队列实现AB进程随时通信,在共享内存中循环逆置打印字符串

    一 要求实现AB进程随时对话 A进程发送一句话给B进程 B进程接收后打印 B进程回复一句话给A进程 A进程接收后打印 随机重复1 2步骤 当收到quit后 要结束AB进程 A进程 include
  • Python 爬取高校历年分数线

    最近一周一直在帮家里小弟看高考志愿 所以更新的没那么频繁了 请大家见谅 在看各高校的往年分数时 忍不住手痒 想着能不能给它爬下来 哈哈 说干就干 1 流程分析 之前无意中在这个网站发现有各个高校的历年录取分数线 https gkcx eol
  • 绕过过滤的空白字符

  • R语言-用stringr包处理字符串

    1 字符数统计和字符翻译 1 1 nchar和length nchar这个函数简单 统计向量中每个元素的字符个数 注意这个函数和length函数的差别 nchar是向量元素的字符个数 而length是向量长度 向量元素的个数 x lt c
  • python如何将多个文件夹的PNG图片批量转换为jpg图片(无损转换)

    一般不需要后期处理分析的照片无需使用PNG格式 对于普通的风景人物的照片可以无损转换为jpg格式 这个过程只是将原图png格式中保存空白信息的多余通道去掉而已 并不会影响画质 而内存一般可以变为原来的四分之一 对于图片收藏爱好者来说 可以节
  • ES2015数组扩展 - Array.from()

    Array from方法用于把两类对象转为真正的数组 类似数组的对象 array like object 和可遍历 iterable 的对象 包括ES6新增的数据结构Set和Map 下面是一个类似数组的对象 Array from将它转为真正
  • YOLO V6论文精读

    1 Introduction 在论文中 作者通过实证观察了几个促使我们重新提供YOLO框架的重要因素 1 从RepVGG 3 中重新参数化是一种优越的技术 在检测中尚未得到很好的利用 我们还注意到 对RepVGG块进行简单的模型缩放变得不切
  • 开发启动rsync服务的脚本

    rsync服务的重要性不言而喻 但是一般我们都是rsync daemon启动 我们可以启动rsync服务在init d目录下呢 只要我们写个脚本就OK了 root zyj cat etc init d rsyncd bin bash cre
  • 为金融而生的区块链Injective(INJ)

    Injective背景 Injective 是 Binance Labs 2018 年第一期孵化的八个项目之一 已经获得了众多机构的支持 包括全球顶尖的加密货币风险投资公司之一 Pantera Capital Injective 的核心团队
  • 【蓝桥杯学习笔记】2. 最大公约数和最小公倍数

    系列文章目录 蓝桥杯学习笔记 1 入门基本语法及练习题 文章目录 系列文章目录 前言 一 最大公约数 二 最小公倍数 总结 前言 蓝桥本笔记 从入门到放弃 本片文章使用Python语言编写 Now is better than never
  • openEuler软件包加固项目笔记

    项目概要 使用mugen框架对openEuler操作系统的软件包rubygem bacon进行测试 记录issue 涉及到一些保密性 我有些东西不便细述 因此设置了查看权限 一 申请云服务器 openEuler操作系统安装 说明 安装ope
  • Vue React实现Anchor锚点组件

    Vue实现 使用 页面引入 import Anchor from components common Anchor
  • 对于C++中的extern关键字用法的理解

    今天在学习Effective C 时遇到了extern 关键字 这个关键字我不熟悉 因此参考csdn上一位大佬的博客 总结出如下笔记 一 首先 明确一点 即 extern是关于声明的关键字 变量的声明有两种情况 1 一种是需要建立存储空间的
  • Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块 主要用于输出运行日志 可以设置输出日志的等级 日志保存路径 日志文件回滚等 相比print 具备如下优点 可以通过设置不同的日志等级 在release版本中只输出重
  • 【经典游戏】坦克大战 Unity2D项目实战(保姆级教程)

    主要内容 1 Unity3D引擎中的基础设置 2 2D场景的搭建 预制体制作 3 2D动画的制作 4 图片图集的有关知识 5 碰撞器 触发器 碰撞检测与触发检测 6 2D游戏渲染的一些知识 7 敌人AI的编写 8 UGUI有关内容 场景切换
  • tomcat8.5 启动控制台日志乱码

    使用IDEA在本地启动tomcat进行调试时 发现日志 页面会出现乱码的情况 通过以下方式解决问题 以下操作全部在Windows10系统中 直接启动tomcat会出现控制台汉字乱码的问题 这是因为 tomcat启动默认编码 UTF 8 wi