Имейл адресът е част от текст. Ето защо, не използвайте двоичен файл , използвайте текст.
Utf8 изглежда е добър избор. Не съм сигурен какви знаци се поддържат за имейл адреси, но може да се очаква, че в бъдеще ще има все повече разрешени символи в уникод. Особено ако използвате utf8 другаде във вашата база данни, не е нужно да превключвате от едно кодиране към друго, просто използвайте utf8 за всичко.
Що се отнася до избора между utf8_bin , utf8_unicode_ci и utf8_general_ci , разликата е само в съпоставянето. Това означава, че има разлика при сравняването на низовете.
Сега тук трябва да избирате между разрешеното и нормалното. Обикновено имейл адресите не са чувствителни към малки и големи букви, но те могат да бъдат чувствителни.
Така че, ако използвате уникален индекс в колоната си за електронна поща и искате да разрешите имейл адреси, които се различават само по главни букви, трябва да използвате utf8_bin , тъй като съпоставянията, завършващи с _ci, означават "нечувствителни на главни букви".
Ако използвате уникален индекс и искате да избегнете имейли, които се различават само с главни букви, тогава използвайте utf8_unicode_ci .
Като се има предвид това, използвам utf8_unicode_ci . Искам db да може да разпознава [email protected] и [email protected] като същия адрес. Това е много по-полезно, отколкото да се допуска възможността за адреси с едни и същи знаци и различни главни букви.