Navicat新建数据库字符集和排序规则的选择
在用Navicat新建数据库时,弹出的窗口除了要对数据库进行命名,还需要选择字符集和排序规则。
奔着UTF-8去选字符集,但是MySQL的数据库字符集包含“UFT-8”的有不止一个,那么该怎么选呢?
MySQL中的“utf8mb3”编码只支持每个字符最大3个字节的编码方式,而我们通常使用的UTF-8是每个字符最大4个字节的编码方式。所以在这里需要使用的编码方式是“utf8mb4”。
排序规则中也出现了不同的后缀选项,包含utf8_general_ci、utf8_general_cs、utf8_bin等等。
其中ci的全称为case insensitive,意为大小写不敏感;cs则是区分大小写,而bin是以二进制数据存储,且区分大小写。
因此,如果需要数据库不区分大小写,则需要选择ci结尾的。比如在注册用户名和邮箱的时候,如果不区分大小写就要使用utf8_general_ci。
在这里我们选择utf8_bin来区分大小写。
utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别,但在校对速度和准确度上还是有所差异,综合考虑下来utf8_general_ci的准确度够用,这里还是选择general_ci。
校对速度 | 准确度 | |
utf8_general_ci | 较快 | 较差 |
utf8_unicode_ci | 较慢 | 较高 |