collation utf8mb4_unicode_ci 是啥意思
Posted
技术标签:
【中文标题】collation utf8mb4_unicode_ci 是啥意思【英文标题】:What does collation utf8mb4_unicode_ci meancollation utf8mb4_unicode_ci 是什么意思 【发布时间】:2016-05-11 21:19:28 【问题描述】:我正在做一个项目,想实现一个类似于 wordpress 帖子表的帖子表来存储页面内容。
所以我基本上复制了 wp_posts 表,它是长文本,但是我注意到在整理下它有 utf8mb4_unicode_ci
我想知道这意味着什么以及它有什么必要?
【问题讨论】:
您的问题是关于 字符集 utf8mb4 vs utf8 吗?或者关于 unicode_ci 与其他 _collations 的对比? 【参考方案1】:utf8mb4_unicode_ci
支持 mysql 数据库中的完整 unicode。
更多信息可以在这里找到https://mathiasbynens.be/notes/mysql-utf8mb4
基本上Unicode中有很多字符不能用utf8存储在表中,从而导致数据丢失。
UTF-8 符号占用 1 到 3 个字节,但有些符号甚至可以占用 4 个字节,并且不受支持 (utf8
- utf8mb4
)。
在 wordpress 中,这种对 utf8 排序规则的更改导致某些用户出现问题,主要是因为 utf8mb4_unicode_ci
仅在 MySQL 5.5.3+ 中受支持。
【讨论】:
以上是关于collation utf8mb4_unicode_ci 是啥意思的主要内容,如果未能解决你的问题,请参考以下文章
COLLATION 'utf8mb4_general_ci' 对 CHARACTER SET 'binary' 无效
java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_
java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_