为什么需要设置字符编码?
一、字符编码
我们平时输入的文字、符号,最终存储在电脑里时其实都要变成 0 和 1。字符编码(Character Encoding) 就是定义 这些 0 和 1 具体代表什么字符 的规则。
不同的编码方式 = 不同的“翻译规则”,如果电脑保存时使用一种编码方式,但读取时却按另一种方式解析,就会出现一堆莫名其妙的字符——也就是我们常说的 乱码!
二、常见的编码方式
| 编码方式 | 特点 | 是否支持中文 | 备注 | 
|---|---|---|---|
| ASCII(AscII) | 最早用于英文国家的编码,只能表示 128 个字符(字母、数字、符号) | 不支持 | 英文足够但其他语言不够 | 
| ISO-8859-1 | ASCII 的扩展版本,可表示 256 个字符 | 不支持中文 | 曾在欧洲地区广泛使用 | 
| UTF-8 | 万能的编码!支持全球语言,特别支持中文 | 支持 | Web 与现代软件的默认编码 | 
| GBK / GB2312 | 中国常用,针对中文优化 | 支持中文 | 国内旧系统常见 | 
PS:UTF-8 能表示 ASCII,但 ASCII ✅无法表示中文。
三、为什么会出现乱码?--编码方式与解码方式不一致
假设某段文字使用 UTF-8 编码存储:
“你好吗” → (存储为 UTF-8 的二进制数据)
如果读取时错误地当作 ASCII 解码,
ASCII 根本无法理解 UTF-8 编码结构,就会将一堆字节“乱翻译”,
于是出现:æç... 这种怪异字符。
四、为什么一般都选择 UTF-8?
- 国际通用标准
- 支持全球语言
- 兼容 ASCII
- 更节省空间(英文仅占 1 字节)
所以几乎所有前端、后端、浏览器、数据库都推荐统一使用 UTF-8。
