PHP で MySQL を使用するのに最適な照合順序は何ですか? [closed] 質問する

PHP で MySQL を使用するのに最適な照合順序は何ですか? [closed] 質問する

入力内容が 100% 確実ではない一般的な Web サイト向けに、MySQL によって公式に推奨されている照合タイプはありますか? MySQL、Apache、HTML、PHP 内のすべてなど、すべてのエンコーディングが同じである必要があることは理解しています。

以前、PHP を「UTF-8」で出力するように設定しましたが、これは MySQL ではどの照合順序と一致しますか? UTF-8 のいずれかだと思いますが、以前は 、 、 を使用したことがあり、utf8_unicode_ciこれらutf8_general_ciutf8_bin「utf8」がどれにマップされるのか、またはそれが使用するのが最適かどうかはわかりません。

ベストアンサー1

主な違いは、ソート精度(言語内の文字を比較する場合)とパフォーマンスです。唯一の特別な違いは、バイナリ形式で文字を比較するための utf8_bin です。

utf8_general_ciは よりもいくらか高速ですutf8_unicode_ciが、(ソートに関しては)精度は劣ります。特定の言語の utf8 エンコーディング( などutf8_swedish_ci)には、それらの言語で最も正確にソートするための追加の言語ルールが含まれています。 特定の言語を優先する正当な理由がない限り、ほとんどの場合、 を使用しますutf8_unicode_ci(わずかなパフォーマンスの向上よりも精度を優先します)。

特定のUnicode文字セットの詳細については、MySQLマニュアルを参照してください。文字セット ユニコード セット

おすすめ記事