web-dev-qa-db-ja.com

utf8照合のどれが最高ですか?

以下をサポートするためにUTF8照合順序が必要です。

  • 英語
  • ペルシア語
  • アラビア語
  • フランス語
  • 日本語
  • 中国語

UTF8_GENERAL_CIこれらすべての言語をサポートしますか?

26
armin etemadi

はい、その通りです。 UTF-8は、Unicode文字セットのエンコーディングであり、世界中のほぼすべての言語をサポートしています。

唯一の違いは結果の並べ替えにあると思います。他の言語(アクセント、ウムラウトなど)では文字が異なる場合があります。また、aäを比較すると、別の照合順序では動作が異なる場合があります。

_ciサフィックスは、ソートと比較で大文字と小文字が区別されないことを意味します。

http://www.collat​​ion-charts.org/ 興味があるかもしれません。

33
knittl

UTF8_GENERAL_CIは少し前に良い決断だったので。現在、いくつかの欠点があります。

MySQLのUTF8は、実際には4バイトではなく3バイトを使用します。これは、絵文字や新しいアジア文字などの記号に必要です。

そのため、MySQLにはutf8mb4という新しい文字セットがあり、実際にはUTF8定義に準拠しています。

アジアの言語を完全にサポートするには、utf8mb4を選択する必要があります。

複数の言語での正しい並べ替えが必要な場合は、一般的な代わりにutf8mb4_unicodeまたはutf8mb4_unicode_ciを使用してください。

あなたが見つけることができるより詳細な答え tf8_general_ciとutf8_unicode_ciの違いは何ですか

2
Aistis