出處: http://origin2.pixnet.net/blog/post/1244682
有用過 mysql 的 UTF-8 編碼的人可能都會對這件事感到疑惑:
連線校對(collation)裡面的
utf8_general_ci 跟 utf8_unicode_ci
到底有什麼差異呢?
在 phpMyAdmin 裡面的說明看起來通通一樣:
utf8_general_ci 統一碼 (Unicode) (多語言), 大小寫不相符
utf8_unicode_ci 統一碼 (Unicode) (多語言), 大小寫不相符
實在是看不出什麼刁來。
所以前一陣子在搞 mysql UTF-8 化的時候,谷歌了一番,
發現這篇文章裡有詳盡的說明:(其實就是把 mysql reference manual 翻譯而已)
utf8_general_ci 在轉換時速度比較快
utf8_unicode_ci 在轉換時比較精準
轉換?怎麼講呢?簡單說就是當資料要從一個編碼換成另外一個編碼時,mysql 要在兩個 codepage 裡面找出來相對應的字元位置在哪裡。