MySQL照合utf8_unicodeの違い


10

しかし、私はMySQL照合の重要性について読んでいます。互換性と精度に関してこれまでに学んだことは、これら4つが私の最善の策であるようです。

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

私の理解から、uft8mb4は多言語(文字)をサポートする文字(たとえば日本語)に適しています。uf8は3バイトのみをサポートし、uf8mb4は4バイトをサポートします。したがって、明らかな選択はuf8mb4であるように聞こえますが、問題は、長さに制限があるようです(くそー!私のケーキも食べて食べたい)これは少し心配です(私は思う)。

次に、520標準について考慮します。それは私がそれで見つけることができなかったものから、より多くを提供します。しかし、それはもちろん問題です。私はそれについてほとんど見つけることができませんでした。それが改善だと人々が言っ​​ているだけですが、それがいかにそうであるかについて非常に曖昧です。

私はできるだけ少ない制限でできるだけ多くのことを望んでいます...私はここの誰かが何かを知っているかもしれないと考えました。MySQLの公式サイトは、私が望んでいたほど情報量が多くありませんでした。

最も互換性、正確性、保存期間が最も長い4つのうちどれですか。また、502標準間の大きな違いは何ですか?

回答:


10

Unicode照合名には、照合の基になっているUnicode照合アルゴリズム(UCA)のバージョンを示すバージョン番号が含まれる場合があります。名前にバージョン番号がないUCAベースの照合ではversion-4.0.0UCA重みキーを使用ます。などの照合名utf8_unicode_520_ciは、UCA 5.2.0の重みキーに基づいています

https://dev.mysql.com/doc/refman/5.6/en/charset-collat​​ion-names.htmlを参照してください


照合が使用するエンコーディングを変更しません(何MySQLが間違って呼び出します。さらにこの上説明するのcharacter setcharset)、そうutf8あなたに3バイト(非標準)UTF-8を提供し、utf8mb4あなたに4バイトのUTF-8を提供します。
jynus

1
つまり、単純な英語では、UCA 4.0.0とUCA 5.2.0の違いは何が新しいのかという点です。利点または欠点は何でしょうか?
アダム

4
ソートに影響します。Unicode標準のより新しい(まだ古い)バージョンに対してどうしてもソートする必要がある場合は、を使用することをお勧めします520_ci。私のウェブサイトについては、私はそれほど気にできませんでした。
Mathias Bynens 2014

utf8mb4_unicode_520_ci照合順序の最大バイトサイズ文字のバイトサイズは何ですか?
オールドボーイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.