只有系统表 mysql.help_topic 的字符序使用 utf8_bin,这样设计的出发点是什么?
这个表查了查,是帮助相关的,里面的内容是确定的,从结果反推,这个表的字符都是utf8能覆盖的。所以用utf8_bin也无所谓吧,还节省空间。
存在即合理,可能最初就是这么设计的
沿袭mysql传统,可以提个issue,统一为utf8mb4
UTF-8:UTF-8 是一种变长编码方式,可以用一个至四个字节来表示不同范围内的字符。大部分常用的字符可以使用一个字节表示,但某些罕见的字符需要使用多个字节进行编码。UTF-8 编码最多可以表示 Unicode 字符集中的 1,112,064 个字符。
UTF-8MB4:UTF-8MB4 是对 UTF-8 的扩展,它支持更广泛的字符集范围。UTF-8MB4 使用一到四个字节来表示不同范围内的字符,与 UTF-8 相比,它多了一些额外的字符表示范围。UTF-8MB4 可以表示 Unicode 字符集中的所有字符,包括一些罕见的、辅助平面的以及 Emoji 表情等。
你字段不存表情等特殊符号,使用UTF-8也没问题啊。
这系统表和mysql一样吧
跟MySQL的
估计这个表不涉及中文字符问题。没必要用mb4
mysql的系统表,大部分的字符集是utf8,还有部分表,如gtid_executed表的字符集是utf8mb4;