忽然之间的博客

Thoughts, stories and ideas.

mysql字符集 utf8 utf8mb4 整理

utf8 / utf8mb4

字符集 区别
utf8 utf8最长使用3个字节,也就是只支持到了 Unicode 中的 基本多文本平面 (U+0000至U+FFFF)
utf8mb4 utf8mb4 是 utf8 的超集并完全兼容utf8,能够用四个字节存储更多的字符。
能够存储手机端常用的表情字符 emoji和一些不常用的汉字,如 “墅” ,这些需要四个字节才能编码出来。

utf8mb4_unicode_ci /utf8mb4_general_ci

字符集 区别
utf8mb4_unicode_ci 准确性:标准的Unicode来排序和比较,能够在各种语言之间精确排序
性能:实现了略微复杂的排序算法。
utf8mb4_general_ci 准确性:没有实现Unicode排序规则,在遇到某些特殊语言或字符是,排序结果可能不是所期望的。
性能:在比较和排序的时候更快

推荐使用utf8mb4_unicode_ci ,适用性更广泛。