当前位置: 首页 > 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="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.rkmt.cn/news/110811.html

相关文章:

  • Fastapi打开swagger空白
  • 容器可观测新视角:SysOM 延时抖动监控助力定位业务抖动原因
  • 空气能十大品牌权威排名:引领行业创新与可靠的典范 - 资讯焦点
  • 27、深入了解 Samba 系统及相关组件配置
  • Toggle Sidebar1172 Panda and PP Milk
  • 盈尚环境工程(杭州)有限公司的售后服务如何?服务受客户认可吗 - 工业推荐榜
  • 少儿编程Scratch3.0教程——02动作积木(基础知识)
  • 2025年度远程控制软件真实横测:这才是办公与游戏的全能王?
  • 做 TikTok 达人筛选,粉丝数真的没你想象中重要
  • 23、活动目录、Kerberos 与安全:Samba 技术深度剖析
  • 少儿编程Scratch3.0教程——04 声音积木(项目练习)
  • 为什么YOLO被称为‘你只看一次’的革命性设计?
  • MiniCPM-V2.5微调CUDA依赖问题解决
  • 24、深入探索Samba:安全、权限与服务集成
  • 16、打造愉悦用户体验的网络环境配置指南
  • 【工具】jplag代码查重工具使用指南(老师查重学生代码福音)
  • LobeChat能否拒绝不当请求?安全护栏实践
  • 计算机毕业设计springboot基于Java开发的药店药品管理系统 基于Spring Boot框架的Java药店药品信息化管理系统设计与实现 Java语言结合Spring Boot开发的药店药品管理
  • LobeChat能否实现AI房产顾问?房源匹配与价格分析工具
  • LobeChat能否加载LoRA微调模型?轻量化适配方案探讨
  • 快速上手豆包攻略 ,解锁高效智能助手新体验
  • 【Java毕设全套源码+文档】基于Java的校园快递管理平台的设计与实现(丰富项目+远程调试+讲解+定制)
  • 使用HuggingFace Transformers加载YOLO模型
  • LLaMA-Factory 推理全攻略:从配置到优化实战
  • Markdown转PDF发布技术报告:基于TensorFlow实验结果生成
  • AI驱动的命令行工具集x-cmd鸿蒙化适配后通过DevBox安装使用
  • Stable-Diffusion-3.5-FP8生产部署指南
  • 使用在React Native中开发一个Sticky(粘性)布局,组合使用`ScrollView`和`View`组件的`style`属性来模拟Sticky布局,关键是要在滚动视图内部使用绝对定位和相对
  • Excalidraw:手绘风在线白板神器
  • 重磅!中科院2区SCI 被剔除!新增4本On Hold除名,12月WOS更新