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:字符串每一個字符串用二進制數據編譯存儲。 區分大小寫,並且能夠存二進制的內容