utf8_general_ci と utf8_unicode_ci 照合アルゴリズム
MySQL は、一見すると区別できないように見える 2 つの Unicode 照合順序、utf8_general_ci と utf8_unicode_ci を提供します。ただし、基礎となる照合アルゴリズムは大きく異なります。
utf8_general_ci: 誤った Unicode 処理
utf8_general_ci は、Unicode の正規化、結合文字の削除、および大文字の変換という単純化されたプロセスに従います。 Unicode 環境では、Unicode の大文字と小文字の区別が限られているため、このアプローチは失敗します。例:
utf8_unicode_ci: 標準 Unicode 照合順序アルゴリズム
対照的に、utf8_unicode_ci は Unicode 照合アルゴリズムを採用し、すべてのスクリプトに対して正確な結果を提供します。以下を処理します。
データベース設計への影響
適切な照合順序の選択は、データの整合性にとって非常に重要です。 utf8_general_ci による Unicode の処理が間違っていると、並べ替えと取得に一貫性がなくなる可能性があります。 utf8_unicode_ci は、若干遅いものの、正しい結果を保証するため、国際化されたデータベースで推奨される選択肢です。
以上がutf8_general_ci と utf8_unicode_ci: MySQL Unicode 照合順序はどちらを選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。