news 2026/5/2 7:53:01

【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/26 2:46:13

对coco格式的分割标注生成二值mask

对coco格式的分割标注生成二值mask 对coco格式的分割标注生成二值mask 给定_annotations.coco.json文件&#xff0c;将里面的特定类别解码批量生成二值mask&#xff0c;代码如下&#xff1a; import json from pathlib import Pathimport numpy as np from PIL import Imagefro…

作者头像 李华
网站建设 2026/4/30 9:54:02

27、深入了解 Samba 系统及相关组件配置

深入了解 Samba 系统及相关组件配置 1. Samba 系统文件位置 Samba 系统文件的位置一直是让不少用户感到困扰的问题。在 20 世纪 90 年代初,Samba 团队默认将其安装在 /usr/local/samba 目录下,这在当时是合理的,因为许多开源软件都安装在 /usr/local 子目录中。 不过…

作者头像 李华
网站建设 2026/4/28 8:32:22

突破封锁线:在内网无网络国产化环境中部署Kubernetes v1.33.3

文章目录全文开始服务器环境前期准备工作关闭防火墙和selinux主机名解析开启bridge网桥过滤关闭swap分区安装containerd配置containerd启动服务安装nerdctl安装master节点移动相关资源安装相关资源集群初始化部署网络插件安装worker节点前置条件安装kube三件套worker加入集群Ng…

作者头像 李华
网站建设 2026/4/23 17:29:20

LobeChat能否加载LoRA微调模型?轻量化适配方案探讨

LobeChat 能否加载 LoRA 微调模型&#xff1f;轻量化适配的实践路径 在大语言模型日益普及的今天&#xff0c;开发者不再满足于“通用智能”的粗放式体验。越来越多的应用场景要求 AI 具备特定领域的专业知识——比如法律咨询、编程辅助或医疗问答。然而&#xff0c;全参数微调…

作者头像 李华
网站建设 2026/4/24 17:29:37

为什么YOLO被称为‘你只看一次’的革命性设计?

为什么YOLO被称为“你只看一次”的革命性设计&#xff1f; 在自动驾驶汽车疾驰于城市街道的瞬间&#xff0c;系统必须在几十毫秒内识别出行人、车辆和交通标志&#xff1b;在智能手机的人像模式中&#xff0c;背景虚化需要实时精准地分割主体&#xff1b;在工厂的高速生产线上&…

作者头像 李华