当前位置: 首页 > news >正文

彻底解决win10系统Tomcat10控制台输出中文乱码

彻底解决Tomcat10控制台输出中文乱码

首先乱码问题的原因通俗的讲就是读的编码格式和写的解码格式不一致,比如最常见的两种中文编码UTF-8和GBK,UTF-8一个汉字占三个字节,GBK一个汉字占两个字节,所以当编码与解码格式不一致时,输出端当然无法识别这是啥,所以只能以乱码代替。

值得一提的是GBK不是国家标准编码,常用的国标有两,一个是GB2312,一个是GB18030

GB18030 既是字符集又是编码格式,也即字符在字符集中的编号以及存储是进行编码用的编号是完全相同的,而 Unicode 仅仅是字符集,它只规定了字符的唯一编号,它的存储是用其他的编码格式的,比如 UTF8、UTF16 等等

文件tomcat10\conf\web.xml
第127行

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

文件tomcat10\conf\server.xml
第74行

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

此时,打开控制台,发现还是乱码。

文件tomcat10\conf\logging.properties
第25行至第51行的UTF-8修改为GBK

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.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK2localhost.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.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK3manager.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.maxDays = 90
3manager.org.apache.juli.AsyncFileHandler.encoding = GBK4host-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.maxDays = 90
4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBKjava.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK

参考资料

彻底解决Tomcat控制台输出中文乱码
Tomcat最全乱码问题解决方案
彻底搞明白 GB2312、GBK 、GB18030和UTF-8
tomcat引起的控制台中文乱码问题


http://www.mrgr.cn/news/21827.html

相关文章:

  • 漫谈设计模式 [15]:观察者模式
  • 架构全景视图
  • RocketMQ之发送消息源码分析
  • 漫谈设计模式 [5]:建造者模式
  • 脏页写入磁盘的过程详解
  • 理解C++全局对象析构顺序与 IPC 资源管理:避免 coredump
  • windows10 卸载网络驱动以及重新安装
  • 前端工程化1:从0到1配置eslint (所有人一看就懂)
  • 数据集 CrowdPose 多人姿态估计 深度学习 >> DataBall
  • sping boot 基于 RESTful 风格,模拟增删改查操作
  • ue5 伤害插件
  • springboot websocket 服务端
  • HarmonyOS】ArkTS学习之基于TextTimer的简易计时器的elapsedTime最小时间单位问题
  • Java项目: 基于SpringBoot+mybatis+maven网上租贸系统(含源码+数据库+毕业论文)
  • Computer Exercise
  • idea插件开发的第二天-写一个时间查看器
  • VMware时提示系统尚未修改安装失败
  • android系统源码12 修改默认桌面壁纸--SRO方式
  • 【AcWing】852. spfa判断负环
  • Cortex-A7:ARM官方推荐的嵌套中断实现机制