Mysql
 sql >> база данни >  >> RDS >> Mysql

Кой е най-добрият набор от знаци за полето за имейл?

Имейл адресът е част от текст. Ето защо, не използвайте двоичен файл , използвайте текст.

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] като същия адрес. Това е много по-полезно, отколкото да се допуска възможността за адреси с едни и същи знаци и различни главни букви.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извличане на данни от MySQL база данни с помощта на PHP, показване във форма за редактиране

  2. Как да хванем DB грешки в CodeIgniter PHP

  3. jQuery Проверете използването на отдалечен метод, за да проверите дали вече съществува потребителско име

  4. Как да проверя дали съществува индекс в поле на таблица в MySQL?

  5. Как да обединя цели набори от резултати в MySQL?