sql >> Databáze >  >> RDS >> Mysql

Jaká je nejlepší znaková sada pro pole e-mailu?

E-mailová adresa je kus textu. Proto nepoužívejte binární , použijte text.

Utf8 se zdá být dobrou volbou. Nejsem si jistý, jaké znaky jsou podporovány pro e-mailové adresy, ale lze očekávat, že v budoucnu bude stále více povolených znaků unicode. Zejména pokud používáte utf8 jinde v databázi, nemusíte přecházet z jednoho kódování na druhé, stačí použít utf8 pro všechno.

Pokud jde o výběr mezi utf8_bin , utf8_unicode_ci a utf8_general_ci , rozdíl je pouze v řazení. To znamená, že je rozdíl při porovnávání řetězců.

Nyní si zde musíte vybrat mezi tím, co je povoleno a co je normální. Normálně se v e-mailových adresách nerozlišují malá a velká písmena, ale mohou rozlišovat malá a velká písmena.

Pokud tedy ve sloupci e-mailu používáte jedinečný index a chcete povolit e-mailové adresy, které se liší pouze velikostí písmen, měli byste použít utf8_bin , protože kolace končící na _ci znamenají „nerozlišují se malá a velká písmena“.

Pokud používáte jedinečný index a chcete se vyhnout tomu, aby se e-maily lišily pouze velikostí písmen, použijte utf8_unicode_ci .

Jak již bylo řečeno, používám utf8_unicode_ci . Chci, aby db dokázala rozpoznat [email protected] a [email protected] jako stejnou adresu. Je to mnohem užitečnější, než připouštět možnost adres se stejnými znaky a různými velkými písmeny.




  1. Přímý přístup k SQL Server Database v Xamarin.Forms

  2. Jak změnit sloupec a změnit výchozí hodnotu?

  3. Jak vytvořit jedinečné omezení pro více sloupců v SQL Server - SQL Server / TSQL výukový program, část 96

  4. MySQL dotaz k získání nejprodávanějších produktů