解决tomcat中文乱码问题终极大招

2023-09-22 15:59:43

前言

  乱码问题是所有开发人员一定会遇到的问题,可惜的是,讲乱码解决方案的人往往讲不到重点。我们都知道引起乱码的原因就是编码不一样导致的。所以我们的终极解决方案就是让程序里的编码和tomcat的编码一致就行。由此引出了我们的第一个问题,tomcat控制台的编码是多少?

tomcat控制台的编码是多少?

  这个问题很多人都会让你去改tomcat的路径下conf/logging.properties配置文件,但是很多人改了也不行,原因就在于我们不知道tomcat控制台所用的编码。以windows平台为例,这样查看
在这里插入图片描述
在这里插入图片描述

看到了吧?默认是936,也就是GBK,于是我们再看我们在log4j里输出时用的是什么编码。

程序打印时是什么编码?

直接看log4j的配置文件:
在这里插入图片描述
发现了什么?是用UTF-8输出的。那不就矛盾了?输出时用UTF-8,解析是用GBK,不乱码才怪。

解决方案

找到问题那就很简单了,要么都改成UTF-8,要么都改成GBK。那就有人要问了,tomcat默认的编码怎么改?答案是在注册表里改。找到注册表

HKEY_CURRENT_USER/Console/Tomcat

在这里插入图片描述
在这里插入图片描述
切换到十进制,将值改为65001,也就是UTF-8。

更多推荐

CAD丢失mfc140u.dll怎么办,mfc140u.dll丢失的解决方法分享

许多用户在运行AutoCAD时可能会遇到一个问题:丢失mfc140u.dll文件,导致软件无法正常运行。本文将详细介绍mfc140u.dll文件的作用,以及如何解决丢失mfc140u.dll文件的问题。一、mfc140u.dll文件的作用MFC(MicrosoftFoundationClass)是一个由微软公司开发的C

量子计算基础知识—Part1

1.什么是量子计算机?量子计算机是基于量子力学原理构建的机器,采用了一种新的方法来处理信息,从而使其具有超强的功能。量子计算机使用Qubits处理信息。2.什么是量子系统?一个量子系统指的是由量子力学规则描述和控制的物理系统。在量子力学中,物理系统的状态不再是经典物理中的确定性值,而是由一个称为波函数的数学对象描述的概

接入国家能源平台MQTT应用案例

一、项目介绍随着国家对节能环保措施的力度不断加大,基于物联网技术搭建的国家能源平台在国家相关部门的建设下逐渐成熟。致力于利用实际能耗数据建立能效仿真模型,通过实时寻优运算,获得当前的最优化运行策略,并将控制指令下发控制系统,快速帮助能源全面实现自身能源管理的信息化、流程化、可视化和可操作性。二、项目所面临的问题1.常规

Mac电脑系统怎么样才能干干净净地卸载应用程序?

Mac系统怎么样才能干干净净地卸载应用程序,不留下隐私数据和用户信息呢?如果有方法的话,那么该方法对于Mac电脑小白是否友好呢?CleanMyMac就是一款用于清理Mac系统下应用程序的一款清理工具,其内置了应用程序的安全卸载功能,保证了软件的彻底卸载。下面小编使用CleanMyMacX版本,带大家看看如何使用它干净地

Scotch: Combining SGX and SMM to Monitor Cloud Resource Usage【TEE的应用】

目录摘要引言贡献背景SMMXenCreditScheduler与资源核算SGX威胁模型SchedulerattacksResourceinterferenceattacksVMEscapeattacks架构ResourceAccountingWorkflowCostofAccounting具体的部署和评估见论文相关工作

自监督学习之对比学习:MoCo模型超级详解解读+总结

文章目录一、MoCo简介1.1整体思想1.2动量1.3正负样本如何选取二、动态字典2.1query和key2.2字典特点三、编码器的动量更新3.1编码器的更新规则3.2使用动量更新的原因四、实验过程4.1目标函数:infoNCE4.1.1softmax4.1.2交叉熵损失4.1.3交叉熵损失函数和softmax的关系4

比特币 ZK 赏金系列:第 2 部分——查找哈希冲突

在我们的零知识赏金(ZKB)系列的第二部分中,我们将其应用于解决哈希冲突难题。在这样的谜题中,两个不同的输入散列到相同的输出。此类赏金可用于:充当煤矿中的金丝雀,给我们一个有价值的提醒。存在冲突是散列函数较弱的标志,因此我们可以尽早升级以减轻损失。资助研究以发现哈希函数中的漏洞,特别是对于MiMC等新函数。碰撞攻击历史

前端工程化面试题

下面的模块导出了什么结果?exports.a='a';module.exports.b='b';this.c='c';module.exports={d:'d'}参考答案:{d:'d'}说一下你对前端工程化,模块化,组件化的理解?参考答案:这三者中,模块化是基础,没有模块化,就没有组件化和工程化模块化的出现,解决了困扰

4 vCPU 实例达成 100 万 JSON API 请求/秒的优化实践

“性能工程”(Performanceengineering)是个日渐流行的概念。顾名思义“性能工程”是包含在系统开发生命周期中所应用的一个技术分支,其目的就是确保满足非功能性的性能需求,例如:性能、可靠性等。由于现代软件系统变得日益复杂,我们在对抗性能这个凸显的挑战的时候往往显得无措手足,或者照本宣科的尝试一些偏方,寄

人脸修复祛马赛克算法CodeFormer——C++与Python模型部署

一、人脸修复算法1.算法简介CodeFormer是一种基于AI技术深度学习的人脸复原模型,由南洋理工大学和商汤科技联合研究中心联合开发,它能够接收模糊或马赛克图像作为输入,并生成更清晰的原始图像。算法源码地址:https://github.com/sczhou/CodeFormer这种技术在图像修复、图像增强和隐私保护

OceanBase开源获信通院认可:开源300万行核心代码、社区答疑超3万次

昨日,在由中国信息通信研究院主办的“2023OSCAR开源产业大会”上,蚂蚁集团旗下的自研原生分布式数据库OceanBase荣获“2023OSCAR尖峰开源项目”、“2023OSCAR尖峰开源企业(开源运营与生态建设)”两个奖项。同时,完成可信开源社区评估,获得“可信开源社区”评估证书。OceanBase自2021年6

热文推荐