当前位置: 首页 > news >正文

【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改为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加载字节码时字符集保持一致

http://www.jsqmd.com/news/329299/

相关文章:

  • Z-Image Turbo防黑图技术详解:bfloat16在高算力卡上的稳定性保障
  • 人脸识别OOD模型常见问题解答:从安装到调优全攻略
  • 电商商品自动打标新方案:用阿里中文识别模型实现
  • MedGemma开箱体验:上传CT/MRI即可获得AI分析报告
  • Qwen3-TTS-12Hz-1.7B-VoiceDesign参数详解:Tokenizer-12Hz与Dual-Track架构解析
  • 从零开始:用Clawdbot搭建多模型AI代理系统
  • MGeo在物流订单归一化中的实际应用详解
  • 麦橘超然踩坑总结:这些错误千万别再犯
  • Z-Image-Turbo功能测评:轻量化AI绘画新选择
  • OFA-SNLI-VE Large部署教程:离线环境模型缓存预加载方案
  • Ollma部署LFM2.5-1.2B-Thinking:开源可部署+低延迟+高准确率三优解
  • YOLO11部署太难?这个镜像让你少走弯路
  • 零基础也能懂:用YOLOv9官方镜像快速实现图像识别
  • Emotion2Vec+ Large效果惊艳!语音情绪识别实际案例展示
  • 5分钟部署Emotion2Vec+语音情感识别,科哥镜像让AI情绪分析快速上手
  • Qwen3-TTS-12Hz-1.7B-CustomVoice参数详解:12Hz Tokenizer与Dual-Track流式架构深度解析
  • opencode+Proteus联合部署:嵌入式开发AI辅助完整指南
  • 手把手教你用Swin2SR放大表情包和AI生成图
  • Pi0模型结构解析教程:ViT+LLM+Policy网络三层架构参数详解
  • Java面试必看!同步与异步的深入解析与实例演示
  • 造相Z-Image三档模式实测:从9步极速到50步精绘效果对比
  • 学生党必备:VibeThinker-1.5B助你备战信息学竞赛
  • 2026年玻璃纤维布市场,口碑良好的生产厂家一览,硅酸钾/石英粉/硅微粉/氢氧化钙,玻璃纤维布源头厂家推荐排行榜单
  • 零基础入门RexUniNLU:5分钟搞定中文文本信息抽取
  • Unsloth保姆级安装教程,Conda环境配置一步到位
  • 全网最全10个降AI率网站 千笔帮你轻松降AIGC
  • Jimeng AI Studio实战手册:Z-Image Turbo生成图像EXIF元数据嵌入与版权保护
  • Qwen3-VL-8B效果展示:支持LaTeX公式渲染与数学证明推导的真实响应案例
  • verl模块化API解析:为什么它这么容易扩展?
  • Qwen-Image-Layered结合ComfyUI,打造自动化修图流程