升级到tomcat10和Java 21后,idea控制台system.out.println输出中文乱码问题

最近一次性从tomcat 9升级到tomcat 10,同时Java sdk也从1.8升级到21。

升级过程中,当然会遇到很多问题,但是控制台输出中文乱码问题,着实折腾了很久。

1、尝试各种方法

网上说的很多通用方法都试过了,就是不生效。包括如下:

  1. IDEA调试运行配置,Tomcat运行的VM options加参数:-Dfile.encoding=utf-8
  2. IDEA配置项,File Encodings选项卡,全部设置为UTF-8。
  3. IDEA配置项,Console选项卡,Default Encoding设置为UTF-8。
  4. IDEA的Help菜单→Edit Custom VM Options...,末尾增加:-Dfile.encoding=utf-8。
  5. IDEA的bin目录下,打开idea64.exe.vmoptions文件,末尾增加:-Dfile.encoding=utf-8。
  6. Tomcat的conf目录下,logging.properties文件中,所有编码调整为UTF-8。
  7. 甚至是切换SDK。从Oracle SDK切换为open SDK,也不行。

基本上网上说的方法,也就这些方法,全部都试过了,就是不行。

2、排查问题原因

仔细查看控制台输出,发现并不是所有地方都是乱码。如下图所示。

有乱码的地方,都是使用:System.out.println 输出到内容。tomcat自身的输出,都是正常中文。

如果IDEA不经过tomcat,直接使用System.out.println输出,那么会不会是乱码呢?

写一个测试,执行输出,正常。那说明就是tomcat的问题,不是IDEA的问题。

3、解决方法:

1)修改tomcat中conf文件夹下的logging.properties文件。将编码从utf-8改成gbk。

2)修改idea中控制台输出配置为GBK。

3)重启项目,终于看到输出中文了。

注意:这2个地方,必须改成一致,都设置为GBK。如果不一致,仍然会是乱码。都是UTF-8,也会是乱码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/716851.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

编码在网络安全中的应用和原理

前言:现在的网站架构复杂,大多都有多个应用互相配合,不同应用之间往往需要数据交互,应用之间的编码不统一,编码自身的特性等都很有可能会被利用来绕过或配合一些策略,造成一些重大的漏洞。 什么是编码,为什…

别再这么起号了!TikTok小白起号误区,你中招了吗?

看过不少Tiktok新手的起号失败案例,总结下来就是以下这几个问题,今天结合一些个人起号心得给大家分享怎么成功在TK起号,希望对大家有所帮助。 手机/网络环境 首先我们要确保手机环境和网络环境没有问题,如果被TK判断出是非海外用户…

【YOLOv8改进[注意力]】在YOLOv8中添加ECA高效通道注意力(2020.4)的实践 + 含全部代码和详细修改方式 + 手撕结构图

本文将进行在YOLOv8中添加ECA高效通道注意力的实践,助力YOLOv8目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法。 改进前和改进后的参数对比: 目录 一 ECA 二 在YOLOv8中添加ECA注意力

synchronized死锁

1、死锁案例 /*** descpription: 死锁案例* date 2024/6/17*/ public class DeadLockDemo {public static void main(String[] args) {Object objA new Object();Object objB new Object();new Thread(() ->{synchronized (objA){System.out.println(Thread.currentThrea…

【产品经理】ERP订单处理3-解密促销策略

由于订单到电商ERP系统中,订单金额已经不能支持改动,故电商前台端的优惠券活动、满减活动、支付优惠活动无法使用,故电商ERP只涉及赠品的活动。 一、订单金额阶梯送 顾名思义:订单金额在某个或者某几个金额范围内赠送商品。 字…

设备物联网关在实际生产中的作用解析-天拓四方

随着物联网技术的迅猛发展,设备物联网关作为连接物理世界与数字世界的核心组件,其应用已经渗透到工业、农业、医疗等多个领域。本案例将聚焦于设备物联网关在某制造企业中的应用,详细解析其在实际生产中的重要作用。 案例背景 某制造企业面…

Browserslist: caniuse-lite is outdated。浏览器列表:caniuse lite已经过时???

一、最近运行项目启动时提示 Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-dblatest Why you should do it regularly: https://github.com/browserslist/update-db#readme 这要是这一句,Browserslist: caniuse-lite is outdated.…

离散数学-代数系统证明题归类

什么是独异点? 运算 在B上封闭,运算 可结合,且存在幺元。 学会合理套用题目公式结合律 零元? 群中不可能有零元 几个结论要熟记: 1.当群的阶为1时,它的唯一元素视作幺元e 2.若群的阶大于1时,…

成都爱尔胡建斌院长提醒一张眼底照,眼病早知道

眼底藏在眼睛后方,平时没注意无察觉,其实非常重要。它包含的部位多掌控着视觉问题,稍不注意就是视觉受损,视觉缺失,严重的甚至失明致盲。 眼球前面的角膜、晶体等,被称为眼前段,后面则被称之为…

Springboot微服务整合缓存的时候报循环依赖的错误 两种解决方案

错误再现 Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2024-06-17 16:52:41.008 ERROR 20544 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLI…

如何通过改善团队合作来提高招聘效率

当招聘顶尖人才时,时间就是一切。招聘效率取决于团队快速响应和完成任务的能力,但招聘经理和面试官并不总是最关心重要的招聘任务。更重要的是,求职者的经历取决于准备好的面试官是否准时出现。有时候最好的候选人会接受另一份工作&#xff0…

gitlab仓库中用git bash生成不是默认路径的ssh秘钥

使用命令 ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 会在默认路径生成秘钥,(C:\Users\用户\.ssh\) 想要修改默认路径使用如下命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com"…

MyBatis 获取参数的两种方式

${paramName} 使用这种方式的结果是直接替换。底层是用 Statement 实现的。 优点 使用 ${sort} 可以实现排序查询,而使用 #{sort} 就不能实现排序查询了,因为当使⽤ #{sort} 查询时,如果传递的值为 String 则会加单引号,就会导致 …

知乎号开始运营了,宣传一波

知乎号开始发布一些小说、散文还有诗歌了,欢迎大家多来关注 知乎链接:姜亚轲 每篇小说都改编成网易云音乐,文章中也有链接,我做的词,Suno编曲和演唱,欢迎大家来听听

AutoCAD 2024 mac/win版:智绘未来,设计更精彩

AutoCAD 2024是一款由Autodesk开发的计算机辅助设计(CAD)软件,作为AutoCAD系列的最新版本,它在设计、绘图和制造领域展现出了卓越的性能和广泛的应用前景。 AutoCAD 2024 win/Mac版获取 AutoCAD 2024在功能方面进行了大量增强和改进。它引入了智能对象捕…

Chromium 开发指南2024 Mac篇-编译前的准备工作(一)

1.引言 Chromium 是一款开源的网页浏览器项目,作为 Google Chrome 浏览器的基础,其卓越的性能和广泛的应用使其成为众多开发者研究和学习的对象。对于希望深入了解浏览器内核,或是计划在 Chromium 基础上开发自定义浏览器的开发者来说&#…

白酒:茅台镇白酒的文化内涵与传承意义

茅台镇白酒,作为中国的酒文化的代表之一,具有丰富的文化内涵和传承意义。而云仓酒庄豪迈白酒作为茅台镇的品牌之一,更是承载了深厚的文化底蕴和历史积淀。 首先,茅台镇白酒是中国的酒文化的重要组成部分。白酒在中国有着悠久的历史…

flutter开发实战-创建一个微光加载效果

flutter开发实战-创建一个微光加载效果 当加载数据的时候,loading是必不可少的。从用户体验(UX)的角度来看,最重要的是向用户展示加载正在进行。向用户传达数据正在加载的一种流行方法是在与正在加载的内容类型近似的形状上显示带…

Mware Fusion Pro 13 mac版:一键掌控虚拟世界

VMware Fusion Pro 13是一款功能卓越的虚拟化软件,专为Mac操作系统量身打造。这款软件为用户提供了一个一站式的虚拟化解决方案,能够满足各种多样化的需求。 VMware Fusion Pro 13 Mac获取 VMware Fusion Pro 13的强大之处在于其采用了最 先进的虚拟化…

springboot防疫知识科普系统-计算机毕业设计源码03531

摘 要 如今计算机行业的发展极为快速,搭载于计算机软件运行的数据库管理系统在各行各业得到了广泛的运用,其在数据管理方面具有的准确性和高效性为大中小企业的日常运营提供了巨大的帮助。自从2020年新冠疫情爆发以来,防疫成了社会关注的重中…