1. ホーム
  2. php

[解決済み] PHPでMySQLを使用する場合、最適な照合順序は何ですか?[クローズド]です。

2022-03-22 03:12:26

質問

入力される内容が100%確定していない一般的なWebサイトの場合、MySQLの照合順序に"best"という選択はあるのでしょうか?MySQL、Apache、HTML、PHP内のものなど、すべてのエンコーディングが同じであるべきだと理解しています。

過去にPHPで"UTF-8"で出力するように設定したことがありますが、MySQLではどの照合順序と一致するのでしょうか?UTF-8のどれかだと思うのですが、私はこれまで utf8_unicode_ci , utf8_general_ci および utf8_bin の前にあります。

解決方法は?

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

utf8_general_ci よりもやや高速です。 utf8_unicode_ci しかし、(ソートの)精度は低くなります。また 特定言語のutf8エンコーディング など utf8_swedish_ci ) には追加の言語ルールが含まれており、それらの言語に対して最も正確にソートできるようになっています。たいていの場合、私は utf8_unicode_ci (特定の言語を好む正当な理由がない限り、(私はわずかなパフォーマンスの向上よりも正確さを重視します)。

特定のユニコード文字セットについては、MySQLのマニュアルで詳しく説明されています。 http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html