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

分享讨论IT相关的内容
回复
头像
BobMaster
锋芒初露
锋芒初露
帖子: 1363
注册时间: 2020年 12月 7日 08:05
来自: 神秘的东方
我的状态: 🎯
为圈友点赞: 438 次
被圈友点赞: 288 次
联系:

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

帖子 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';
人生如音乐,欢乐且自由
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 2 访客