Sunset
538 字
3 分钟
[html5学习笔记]meta标签的使用
HTML5 学习笔记:编码
基本概念
所有数据在电脑中储存都是按照二进制储存,我们的数据会被转化成二进制编码。当我们读取这一段文字的时候,会把二进制编码转化成字符查看。
两个过程
- 编码:将字符转换成二进制代码
- 解码:将二进制代码转换成字符
字符集
编码和解码的时候需要遵守的一定规则,被称为字符集。
乱码
当编码和解码采用的字符集不同的时候,就会产生乱码,实际上是因为不对应产生的。
常见字符集
| 字符集 | 说明 |
|---|---|
| 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 解码标题 |
| 老系统/嵌入式乱码 | Ä1º1 | 仅支持 GB2312 无中文扩展 | 升级支持 UTF-8 或转 GBK |
[html5学习笔记]meta标签的使用
https://vilstia.org/posts/学习笔记/html/html5学习笔记编码/