524 字
3 分钟
Loading
[html5学习笔记]meta标签的使用

所有数据在电脑中储存都是按照二进制储存,我们的数据会被转化成二进制编码。当我们读取这一段文字的时候,会把二进制编码转化成字符查看。

这个过程涉及到两个过程:

编码:将字符转换成二进制代码

解码:将二进制代码转换成字符

编码和解码的时候需要遵守一定的规则,被称为字符集。

乱码:当编码和解码采用的字符集不同的时候,就会产生乱码,实际上是因为不对应产生的。

常见的字符集:

ASCII:美国标准字符集。

GBK:中国标准字符集扩展字符集。

GB2312:中国标准字符集。

ISO88591:欧洲标准字符集(法语,德语等)。

UTF-8:万国码,包含所有国家的语言符号,支持任何一种语言,开发程序的时候最好使用UTF-8字符集。

编码错误场景典型乱码字符常见原因正确编码建议
中文网页 / 文本乱码默认 字符 中文UTF-8 被当作 GBK / GB2312 解析统一使用 UTF-8 编码
锟斤拷 烫烫烫UTF-8 与 GBK 多次转码混淆避免多次编码转换
üéñUTF-8 被当作 ISO-8859-1 / Latin-1声明 charset=utf-8
中文文件名 / 压缩包乱码_¹²³¼´ ÎļþWindows 简体(GBK)与 macOS/Linux(UTF-8)互传压缩时选择 UTF-8 文件名
数据库中文乱码? ¿Ø ÿ数据库连接 / 表字段未指定 UTF-8表字符集 utf8mb4
代码 / 配置文件乱码文件带 UTF-8 BOM 头保存为 UTF-8 无 BOM
特殊符号 /emoji 乱码✔ ❌ 😀不支持 UTF-8 或使用窄字符集使用 utf8mb4 而非 utf8
日文 / 韩文乱码こん 자동用 Shift-JIS / EUC-KR 解析 UTF-8统一 UTF-8
控制台 / 终端乱码▒▒▒ ����终端编码与程序输出不一致Windows 用 GBK,Linux/macOS 用 UTF-8
邮件 / 网页标题乱码=?UTF-8?B? 混杂乱码编码未正确解码按 RFC 2047 解码标题
老系统 / 嵌入式乱码ÄãºÃ仅支持 GB2312 无中文扩展升级支持 UTF-8 或转 GBK
[html5学习笔记]meta标签的使用
https://vilstia.pages.dev/posts/学习笔记/html/html5学习笔记编码/
作者
琴泠
发布于
2024-02-24
许可协议
CC BY-NC-SA 4.0