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学习笔记编码/
作者
琴泠 - Lumina Qin
发布于
2024-02-24
许可协议
CC BY-NC-SA 4.0