1. 程式人生 > 其它 >mysql 欄位排序規則

mysql 欄位排序規則

首先了解下utf8與utf8mb4

MySQL裡面實現的utf8最長使用3個字元,包含了大多數字符但並不是所有。例如emoji和一些不常用的漢字,如“墅”,這些需要四個位元組才能編碼的就不支援。

utf8mb4_bin:將字串每個字元用二進位制資料編譯儲存,區分大小寫,而且可以存二進位制的內容。
utf8mb4_general_ci:ci即case insensitive,不區分大小寫。沒有實現Unicode排序規則,在遇到某些特殊語言或者字符集,排序結果可能不一致。但是,在絕大多數情況下,這些特殊字元的順序並不需要那麼精確。
utf8mb4_unicode_ci:是基於標準的Unicode來排序和比較,能夠在各種語言之間精確排序,Unicode排序規則為了能夠處理特殊字元的情況,實現了略微複雜的排序演算法。

utf8_bin將字串中的每一個字元用二進位制資料儲存,區分大小寫。
utf8_genera_ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。
utf8_general_cs區分大小寫,cs為case sensitive的縮寫,即大小寫敏感。