.0 utf8mb4 Unicode字符集一个新的通用排序归类,被命名为utf8mb4_0900_ai_ci。MySQL 8.0默认的是utf8mb4_0900_ai_ci,属于 utf8mb4_unicode_ci中的一种。
这些字段每个意义,代表着什么含义:
-
uft8mb4 表示用 UTF-8 编码方案,每个字符最多占4个字节。
-
utf8mb3也是Unicode字符集的UTF-8编码,每个字符使用一到三个字节。(utf8: utf8mb3的别名)
-
0900 就是Unicode 校对算法版本。(Unicode归类算法是用于比较符合Unicode标准要求的两个Unicode字符串的方法)。
-
ai指的是口音不敏感。也就是说,排序时e,è,é,ê和ë之间没有区别,不区分重音。
-
ci表示不区分大小写。排序时p和P之间没有区别。
再了解一下一些场景下 utf8 和 utf8mb4 的问题点:
utf8编码最多支持3字节的数据,而emoji表情符, 偏生字是4个字节的utf8无法存储的,致辞延伸出utf8mb4字符集解决这个问题。
日常常用的字符集:
-
utf8mb4_bin:将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内
-
utf8mb4_general_ci:ci即case insensitive,不区分大小写。没有实现Unicode排序规则,在遇到某些特殊语言或字符集,排序结果可能不一致。但在绝大多数情况下,这些特殊字符的顺序并不需要那么精确。
utf8mb4_unicode_ci:是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。
2. 字符集配置
mysql字符集如何设置,更改操作:
1)my.cnf配置文件信息,建议初始化时就设置好。
[mysqld]

(编辑:唐山站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|