news 2026/4/16 12:53:05

【JavaWeb】乱码问题_HTML_Tomcat日志_sout乱码问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【JavaWeb】乱码问题_HTML_Tomcat日志_sout乱码问题

目录

  • 乱码问题产生的根本原因
    • 编码
    • 解码
    • 原因
  • 各个字符集的兼容性
  • HTML乱码问题
  • Tomcat控制台乱码
  • sout乱码

乱码问题产生的根本原因

编码

编码:将人类可读的字符,按照指定字符集规则转换为二进制数据(如:UTF-8 下 “中”→0xE4B8AD)

解码

将二进制数据,按照相同字符集规则还原为字符(如:0xE4B8AD→UTF-8→“中”)。

原因

  1. 数据的编码和解码使用的不是同一个字符集

例如:当我们把字符通过utf-8进行编码(字符->1010,编码过程),再用GBK进行解码成字符的时候就会乱码

写入文件时用 UTF-8 编码,读取时用 GBK 解码;或文件本身编码与编辑器打开编码不一致
如:用记事本以 ANSI(GBK)保存的文件,用 VS Code 以 UTF-8 打开会乱码

  1. 使用了不支持某个语言文字的字符集
    例如,一些ISO系列的字符集就没有记录中文字符和1010的关系,若使用该系列字符集进行中文字符的处理,就一定出现乱码

单字节字符集(如 ASCII、ISO-8859-1):仅支持英文字符、部分符号,无中文、日文等多字节字符的映射;
区域性字符集(如 GBK、Big5):仅支持特定区域的字符(GBK 支持中文,Big5 支持繁体中文,Shift_JIS 支持日文);
通用字符集(如 UTF-8、UTF-16):支持全球几乎所有字符(基于 Unicode 字符库)。

各个字符集的兼容性


由上图得知,上述字符集都兼容了ASCII
ASCII中有什么?英文字母和一些通常使用的符号,所以这些东西无论使用什么字符集都不会乱码

HTML乱码问题

设置项目文件的字符集要使用一个支持中文的字符集

有如下html文件,右下角表示编码方式是utf-8

告诉浏览器用utf-8进行解码 <meta charset="UTF-8">

如果将meta charset改为GBK
用浏览器打开就会乱码

IDEA中比较智能
charset发生改变的时候,保存文件,会自动改变字符集

修改字符集

可在idea中修改如下几处都为UTF-8

Tomcat控制台乱码

tomcat在idea中启动时候,有三个打印日志窗口

ConsoleHandler对应的就是Server窗口

localhost对应Tomcat Localhost Log

catalina对应Tomcat Catalina Log

哪个乱码改哪个

sout乱码

如下内容设置为UTF-8后,IDEA在编译的时候也会使用UTF-8

可以设置JVM加载.class文件时使用UTF-8字符集

-Dfile.encoding=UTF-8

原理就是编译时和JVM加载字节码时字符集保持一致

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 3:39:41

FaceFusion API设计与二次开发实战指南

FaceFusion API设计与二次开发实战指南 在内容创作全面视频化的今天&#xff0c;人脸替换技术正从“趣味特效”走向专业级应用——无论是影视后期、虚拟主播&#xff0c;还是个性化广告生成&#xff0c;对高保真、低延迟的人脸处理服务需求日益增长。FaceFusion 作为开源社区中…

作者头像 李华
网站建设 2026/4/15 20:20:08

LangChain与LangFlow简化生成式应用开发

LangChain 与 LangFlow&#xff1a;让生成式 AI 开发回归直觉 在一次内部技术评审会上&#xff0c;我看到产品经理拿着一张手绘的流程图&#xff0c;试图向工程师解释她设想中的“智能客服机器人”——从文档检索到自动回复&#xff0c;中间还要加入情感分析和工单生成。沟通持…

作者头像 李华
网站建设 2026/4/16 11:07:45

16、打造愉悦用户体验的网络环境配置指南

打造愉悦用户体验的网络环境配置指南 1. 前期验证与检查 在开始配置网络环境之前,需要进行一些必要的验证和检查工作。 - 验证主目录挂载情况 :使用以下命令验证主目录是否已正确挂载。 root# df | grep home示例输出如下: massive:/home 29532988 283388 29249600…

作者头像 李华
网站建设 2026/4/16 11:07:10

21、集成UNIX/Linux服务器和客户端到Windows域

集成UNIX/Linux服务器和客户端到Windows域 在网络环境中,将UNIX/Linux服务器和客户端集成到Windows域是一项常见需求。下面将详细介绍如何实现这一目标,包括将Samba服务器加入Active Directory域,以及让UNIX/Linux客户端使用Windows网络凭证进行登录。 1. Samba-3服务器加…

作者头像 李华
网站建设 2026/4/16 10:56:26

为什么你的 TikTok 达人合作效率低?问题往往不在达人身上

在 TikTok 达人营销这条路上&#xff0c;很多跨境团队都会经历一个阶段&#xff1a;达人越找越多&#xff0c;私信越发越勤&#xff0c;样品寄出去不少&#xff0c;但整体转化却始终不稳定。于是大家开始怀疑达人质量&#xff0c;甚至怀疑平台环境、产品本身。 但在真实复盘中你…

作者头像 李华
网站建设 2026/4/10 15:09:19

Linly-Talker能否挑战Synthesia?开源数字人实战解析

Linly-Talker能否挑战Synthesia&#xff1f;开源数字人实战解析 在电商客服页面上&#xff0c;一个穿着职业装的虚拟助手微笑着向你问好&#xff1a;“您好&#xff0c;请问有什么可以帮您&#xff1f;”她不仅对答如流&#xff0c;语调亲切自然&#xff0c;连唇形都与声音完美…

作者头像 李华