分页: 1 / 1

mysql/mariadb 创建数据库时字符集和校对集的选择

发表于 : 2023年 3月 11日 12:27
BobMaster
首先mariadb的文档列举了其支持的 Character SetsCollations
https://mariadb.com/kb/en/supported-cha ... ollations/
接下来就是选择问题,大部分情况我们需要的是UTF-8编码的字符集,推荐使用utf8mb4的字符集,因为其还支持 Basic Multilingual Plane 之外的增补字符。
https://dev.mysql.com/doc/refman/8.0/en ... rsion.html

接下来就是考虑校对集collation,是用utf8mb4_general_ci还是utf8mb4_unicode_ci?
stackoverflow上的这个帖子给了解释和选择建议
What's the difference between utf8_general_ci and utf8_unicode_ci?
对于现代的数据库,应该尽量使用新添加的校对集,如utf8mb4_unicode_520_ci

所以我为项目创建mariadb数据库时,会使用下面的命令:

代码: 全选

CREATE DATABASE nextcloud
  CHARACTER SET = 'utf8mb4'
  COLLATE = 'utf8mb4_unicode_520_ci';