Mysql中的排序規則utf8_unicode_ci、utf8_general_ci的區別

utf8_unicode_ci和utf8_general_ci對中、英文來講沒有實質的差異。mysql

utf8_general_ci 校對速度快,但準確度稍差。sql

utf8_unicode_ci 準確度高,但校對速度稍慢。ide

若是你的應用有德語、法語或者俄語,請必定使用utf8_unicode_ci。通常用utf8_general_ci就夠了。spa

 

mysql5.x 編譯安裝時也須要指定排序規則  -DDEFAULT_COLLATION=utf8_general_cicode




附:排序

ci是 case insensitive, 即 "大小寫不敏感", a 和 A 會在字符判斷中會被當作同樣的;ci

bin 是二進制, a 和 A 會別區別對待。unicode

例如你運行:字符串

SELECT * FROM table WHERE txt = 'a'it

那麼在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 則能夠。

utf8_general_ci 不區分大小寫,這個你在註冊用戶名和郵箱的時候就要使用。

utf8_general_cs 區分大小寫,若是用戶名和郵箱用這個 就會照成不良後果

utf8_bin:字符串每一個字符串用二進制數據編譯存儲。 區分大小寫,並且能夠存二進制的內容

相關文章
相關標籤/搜索