For Japanese, the utf8mb4  character set includes utf8mb4_ja_0900_as_cs  and utf8mb4_ja_0900_as_cs_ks  collations. Both collations are accent-sensitive and case-sensitive. utf8mb4_ja_0900_as_cs_ks  is also kana-sensitive and distinguishes Katakana characters from Hiragana characters, whereas utf8mb4_ja_0900_as_cs  treats Katakana and Hiragana characters as equal for sorting. Applications that require a Japanese collation but not kana sensitivity may use utf8mb4_ja_0900_as_cs  for better sort performance. utf8mb4_ja_0900_as_cs  uses three weight levels for sorting; utf8mb4_ja_0900_as_cs_ks  uses four. 

For Classical Latin collations that are accent-insensitive, I  and J  compare as equal, and U  and V  compare as equal. I  and J , and U  and V  compare as equal on the base letter level. In other words, J  is regarded as an accented I , and U  is regarded as an accented V . 

Spanish collations are available for modern and traditional Spanish. For both, æ  (n-tilde) is a separate letter between n  and o . In addition, for traditional Spanish, ch  is a separate letter between c  and d , and ll  is a separate letter between l  and m . 

Traditional Spanish collations may also be used for Asturian and Galician. 

Swedish collations include Swedish rules. For example, in Swedish, the following relationship holds, which is not something expected by a German or French speaker: 

## _general_ci Versus _unicode_ci Collations 

Ü = Y < Ö 

For any Unicode character set, operations performed using the xxx _general_ci  collation are faster than those for the xxx _unicode_ci  collation. For example, comparisons for the utf8_general_ci collation are faster, but slightly less correct, than comparisons for utf8_unicode_ci . The reason is that utf8_unicode_ci  supports mappings such as expansions; that is, when one character compares as equal to combinations of other characters. For example, ß  is equal to ss  in German and some other languages. utf8_unicode_ci  also supports contractions and ignorable characters. utf8_general_ci is a legacy collation that does not support expansions, contractions, or ignorable characters. It can make only one-to-one comparisons between characters. 

To further illustrate, the following equalities hold in both utf8_general_ci  and utf8_unicode_ci  (for the effect of this in comparisons or searches, see Section 10.8.6, “Examples of the Effect of Collation” ): 

˜ = A Ö = O Ü = U 

A difference between the collations is that this is true for utf8_general_ci : 

ß = s 

Whereas this is true for utf8_unicode_ci , which supports the German DIN-1 ordering (also known as dictionary order): 

ß = ss 

MySQL implements utf8  language-specific collations if the ordering with utf8_unicode_ci  does not work well for a language. For example, utf8_unicode_ci  works fine for German dictionary order and French, so there is no need to create special utf8  collations. 

utf8_general_ci  also is satisfactory for both German and French, except that ß  is equal to s , and not to ss . If this is acceptable for your application, you should use utf8_general_ci  because it is faster. If this is not acceptable (for example, if you require German dictionary order), use utf8_unicode_ci  because it is more accurate. 

