Navicat新建数据库字符集和排序规则的选择

Navicat2年前 (2023-09-25)Navicat教程701

在用Navicat新建数据库时,弹出的窗口除了要对数据库进行命名,还需要选择字符集和排序规则。

bf46fa0bff7d8442112bb60cc8bfc29d.png


奔着UTF-8去选字符集,但是MySQL的数据库字符集包含“UFT-8”的有不止一个,那么该怎么选呢?

MySQL中的“utf8mb3”编码只支持每个字符最大3个字节的编码方式,而我们通常使用的UTF-8是每个字符最大4个字节的编码方式。所以在这里需要使用的编码方式是“utf8mb4”。

cc65eef5c325443b38910cfe084dd4c5.png

排序规则中也出现了不同的后缀选项,包含utf8_general_ci、utf8_general_cs、utf8_bin等等。

其中ci的全称为case insensitive,意为大小写不敏感;cs则是区分大小写,而bin是以二进制数据存储,且区分大小写。

因此,如果需要数据库不区分大小写,则需要选择ci结尾的。比如在注册用户名和邮箱的时候,如果不区分大小写就要使用utf8_general_ci。

在这里我们选择utf8_bin来区分大小写。

a93cc95fa28ac3624a8164b8b5e014a7.png

utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别,但在校对速度和准确度上还是有所差异,综合考虑下来utf8_general_ci的准确度够用,这里还是选择general_ci。


校对速度准确
utf8_general_ci较快
较差
utf8_unicode_ci较慢
较高