升级到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,也会是乱码。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端:Element UI 与 Vuetify 的选择

vuetify优势 1、多端适配,Vuetify完全按照Material设计规范进行开发,每一个组件都经过精心设计,具有模块化、响应式和优秀的性能。 使用独特和动态的 布局 自定义您的应用程序,并使用 SASS 变量 自定义您的组件的样式。只需要做下…

【CT】LeetCode手撕—236. 二叉树的最近公共祖先

目录 题目1- 思路2- 实现⭐236. 二叉树的最近公共祖先——题解思路 3- ACM实现 题目 原题连接:236. 二叉树的最近公共祖先 1- 思路 模式识别 模式1:二叉树最近公共祖先 ——> 递归 判断 递归思路,分情况判断: 1.参数及返…

香港“试水”医疗多模态大模型

更好地引入及发掘行业数据有望为垂直领域内的多模态大模型开发提供新可能。中国香港特区传统科研优势要嫁接产业风口,国际化渠道如何与内地资源携手? 产业多模态大模型“风头”正盛,在积极寻找经济新动能的中国香港特区,相关产业…

SQL新手蜕变:掌握这20条常用SQL语句,让你也能成为高手!

序言 在现代软件开发中,SQL(Structured Query Language,结构化查询语言)作为与数据库交互的标准编程语言,是每个开发者必学的基础技能。掌握SQL并在数据库管理与数据分析中应用自如,能显著提升开发效率和数…

如何修复“AI的原罪”

如何修复“AI的原罪” 上个月,《纽约时报》声称,科技巨头OpenAI和谷歌不顾服务条款和版权法的禁止,将大量YouTube视频转录成文本,并将其用作人工智能模型的额外训练数据,从而进入了版权灰色地带。《纽约时报》还援引Me…

掌握JavaScript ES6精髓:探索函数和对象的高级扩展与实用技巧

序言 JavaScript,作为前端开发中不可或缺的语言,已经发展到了ECMAScript 2015(简称ES6)以及后续的版本。ES6带来了诸多语法上的改进和创新,使得代码更加简洁、优雅,同时也提供了更多的编程模式和实用技巧。…

【ONE·基础算法 || 记忆化搜索】

总言 主要内容:编程题举例,熟悉理解记忆化搜索类题型(对比递归、动态规划理解运用)。             文章目录 总言1、记忆化搜索1.1、基本介绍1.2、细节理解(记忆搜索化、递归、动态规划……) 2、斐…

idea插件开发之一起来开发个打印方法入参和返回值的插件吧!

写在前面 源码 。 在开发过程中为了调试代码我们就可能就需要知道某个方法入参的值是什么,或者是返回值是什么。此时,我们的解决办法一般都是debug,但是debug的效率说实话其实是不高的,特别是不断的调试,不断的debug。…

KT148A-SOP8语音芯片接收到一线串口指令到播放声音大概多长时间

一、问题简介 请问KT148A-SOP8语音芯片接收到一线串口指令,到播放出来声音,大概需要多长时间 我的需求是做按键提示音,初测了一下感觉有延时,这个要如何处理 详细说明 KT148A从接收到指令,到执行,到播放…

JavaScript基于时间的动画算法

前段时间无聊或有聊地做了几个移动端的HTML5游戏。放在不同的移动端平台上进行测试后有了诡异的发现,有些手机的动画会“快”一点,有些手机的动画会“慢”一点,有些慢得还不是一两点。 通过查找资料发现,基于帧的算法&#xff08…

多模态大模型时代下的文档图像智能分析与处理

0. 前言 随着人工智能技术的不断发展,尤其是深度学习技术的广泛应用,多模态数据处理和大模型训练已成为当下研究的热点之一,这些技术也为文档图像智能处理和分析领域带来了新的发展机遇。 多模态大模型时代下的文档图像智能分析与处理的研究…

Linux:用户账号和权限管理的命令

目录 一、Linux用户的分类和组的分类 1.1、用户账号和组账号 1.2、用户的分类 1.3、组账号 1.4、用户账号文件/etc/passwd 二、用户管理相关命令 2.1、chage命令:用来修改帐号和密码的有效期限,针对目前系统已经存在的用户 2.2、useradd&#xf…

【Numpy】一文向您详细介绍 np.abs()

【Numpy】一文向您详细介绍 np.abs() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,曾…

数据结构-图的基本概念

图的定义 图时由非空的顶点集合和一个描述顶点之间关系的集合组成。可以定义为: ​​​​​​​ ​​​​​​​ ​​​​​​​ G表示一个图,V表示点集,E表示边集。集合E的每一个二元组都包含两个值和,表示…

什么是联盟营销?独立站如何通过联盟营销提高转化率?

什么是联盟营销?独立站如何通过联盟营销提高转化率? 流量紧缺是跨境电商独立站永恒不变的难题,对于独立站卖家来说,广告投放、KOL引流等推广方式都能带来流量,但在广告流量越来越贵的今天,对于跨境电商独立…

Vue快速上手和Vue指令

一、Vue快速上手 1、Vue概念 Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架 Vue2官网:https://v2.cn.vuejs.org/ 构建用户界面:基于数据渲染出用户可以看到的界面 渐进式: 循序渐进,不一定非得把…

阿里云PAI主机网页访问测试

笔者使用的阿里云平台PAI主机(首次使用免费三个月额度),由于其默认不设置公网IP,所以在该主机上启动HTTP服务后无法访问测试。 这里使用ssh来作隧道穿透,首先需要配置ssh。 云主机配置ssh 1. 修改root账号密码 在云主机上执行 passwd ro…

安当透明加密(TDE)助力企业建立可信赖的数据环境

​​​​​​​ 透明加密是一种特殊的加密方法,它允许数据在存储或传输过程中自动进行加密和解密,而用户并不需要知道加密过程。这种技术对用户来说是“透明的”,因为它不会改变用户的日常操作习惯,加密和解密过程在后台自动进行…

怎么学习PMP才是最正确的?

每个人的学习方式各不相同,不能一概而论说某种学习方式就是错误的。学习方式并没有绝对的对错之分,只能说是否适合自己,是否能够达到预期的学习效果。并不是别人的学习方式就一定适合自己,也不是不适合自己的学习方式就一定是错误…

【ARMv8/v9 GIC 系列 4 -- GIC 中断分类 SGI | PPI | SPI 及中断检测流程】

文章目录 GIC 中断分类SGI(Software Generated Interrupts)PPI(Per-Processor Interrupts)SPI(Shared Peripheral Interrupts) 中断检测流程物理中断生命周期SPI 中断检测流程PPI 和SGI中断检测流程LPI中断…