什么是字符集?
特定类型字符的集合。例如:ASCII是英语字符集,GB2312、GBK、GB18030是中文字符集,BIG5是繁体中文自己集,Unicode是通用字符集,包含了世界上几乎所有已知的字符。
什么是编码?
对字符集的编码方式。例如对于Unicode是通用字符集有三种编码方式:UTF-8、UTF-16、UTF-32。UTF-8使用1-4个字节编码、UTF-16使用2-4个字节编码、UTF-32使用固定四个字节编码(浪费空间)。
MySQL支持的编码方式?
MySQL 支持很多种字符编码的方式,比如 UTF-8、GB2312、GBK、BIG5。
MySQL 对 UTF-8 的实现方式?
- utf8:utf8编码只支持1-3个字节。 在 utf8 编码中,中文是占 3 个字节。其他数字、英文、符号占一个字节。但 emoji 符号占 4 个字节,一些较复杂的文字、繁体字也是 4 个字节。
- utf8mb4:UTF-8 的完整实现。最多支持使用 4 个字节表示字符,因此,可以用来存储 emoji 符号。