電子メールアドレスはテキストの一部です。したがって、バイナリを使用しないでください 、テキストを使用します。
Utf8 良い選択のようです。メールアドレスでサポートされている文字はわかりませんが、今後ますます多くのUnicode文字が許可されるようになると予想されます。特に、データベースの他の場所でutf8を使用する場合は、あるエンコーディングから別のエンコーディングに切り替える必要はありません。すべてにutf8を使用するだけです。
utf8_binからの選択について 、 utf8_unicode_ci およびutf8_general_ci 、違いは照合だけです。これは、文字列を比較するときに違いが生じることを意味します。
ここで、許可されるものと通常のもののどちらかを選択する必要があります。通常、メールアドレスでは大文字と小文字が区別されませんが、大文字と小文字が区別される場合があります。
したがって、電子メール列で一意のインデックスを使用し、大文字と小文字のみが異なる電子メールアドレスを許可する場合は、 utf8_binを使用する必要があります。 、_ciで終わる照合は「大文字と小文字を区別しない」ことを意味するため。
一意のインデックスを使用していて、大文字と小文字だけが異なるメールを避けたい場合は、 utf8_unicode_ciを使用してください。 。
そうは言っても、私は utf8_unicode_ciを使用します 。データベースが