1The main difference is sorting accuracy (when comparing characters in the
2language) and performance. The only special one is utf8_bin which is for
3comparing characters in binary format.
4
5utf8_general_ci is somewhat faster than utf8_unicode_ci, but less accurate
6(for sorting). The specific language utf8 encoding (such as utf8_swedish_ci)
7contain additional language rules that make them the most accurate to sort for
8those languages. Most of the time I use utf8_unicode_ci (I prefer accuracy to
9small performance improvements), unless I have a good reason to prefer a
10specific language.
11
12You can read more on specific unicode character sets on the MySQL manual -
13http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html