MySQL collation names follow these conventions:
A collation name starts with the name of the character set with which it is associated, followed by one or more suffixes indicating other collation characteristics. For example,
latin_swedish_ciare collations for the
latin1character sets, respectively.
A language-specific collation includes a language name. For example,
utf8_hungarian_cisort characters for the
utf8character set using the rules of Turkish and Hungarian, respectively.
A collation may be case and accent sensitive, or binary. For a binary collation, character comparisons are based on character binary code values. The following table shows the suffixes used to indicate these sorting characteristics.
Table 10.1 Collation Case Sensitivity Suffixes
For nonbinary collation names that do not specify accent sensitivity, it is determined by case sensititivy. That is, if a collation name does not contain
_ciin the name implies
_csin the name implies
latin1_general_ciis case insensitive (and accent insensitive, implicitly),
latin1_general_csis case sensitive (and accent sensitive, implicitly), and
latin1_binuses binary code values.
For Unicode character sets, collation names may include a version number to indicate the version of the Unicode Collation Algorithm (UCA) on which the collation is based. UCA-based collations without a version number in the name use the version-4.0.0 UCA weight keys. For example:
utf8_unicode_520_ciis based on UCA 5.2.0 weight keys (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt).
utf8_unicode_ci(with no version named) is based on UCA 4.0.0 weight keys (http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt).
For Unicode character sets, the
collations preserve the pre-5.1.24 ordering of the original
collations and permit upgrades for tables created before MySQL 5.1.24. For more information, see Section 2.11.3, “Checking Whether Tables or Indexes Must Be Rebuilt”, and Section 2.11.4, “Rebuilding or Repairing Tables or Indexes”.