Perbedaan utama adalah akurasi penyortiran (saat membandingkan karakter dalam bahasa) dan kinerja. Satu-satunya yang khusus adalah utf8_bin yang untuk membandingkan karakter dalam format biner.
utf8_general_ci
agak lebih cepat dari utf8_unicode_ci
, tetapi kurang akurat (untuk menyortir). pengkodean utf8 bahasa tertentu (seperti utf8_swedish_ci
) berisi aturan bahasa tambahan yang membuatnya paling akurat untuk diurutkan untuk bahasa tersebut. Sebagian besar waktu saya menggunakan utf8_unicode_ci
(Saya lebih suka akurasi daripada peningkatan kinerja kecil), kecuali saya punya alasan bagus untuk memilih bahasa tertentu.
Anda dapat membaca lebih lanjut tentang kumpulan karakter unicode tertentu pada manual MySQL - http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html