Login formulář ignoruje háčky a čárky
- martinzi
- Člen | 6
Zdravím,
řeším aktuálně problém s login formulářem. Formulář je plně funkční. V databázi mám username – martin. Pokud tedy zadám jako uživatelské jméno martin, vše funguje. Pokud ale zadám Martin / maRtIn nebo třeba mártin, přihlásím se i tak. Zjistil jsem ale, že když zadám mařtin, už chybu rozpozná a nepřihlásí mě. Můj cíl je tedy přihlásit jen uživatele, který zadá martin.
Stává se mi to na více projektech, takže hádám, že tento problém má každý.
Předem děkuji všem.
- David Matějka
- Moderator | 6445
Ahoj, předpokládám, že používáš MySQL. Tam záleží, jaké collation je u sloupce nastaveno. To určuje, jak se stringy porovnávají a řadí. Zda se bere ohled na velikost písmen, háčky a čárky apod. Pokud chceš, aby „martin“ bylo z pohledu collation shodné s „Mártin“, tak tam budeš mít třeba utf8mb4_czech_ci, případně obecné utf8mb4_general_ci nebo utf8mb4_unicode_ci. Pokud chceš, aby to porovnávalo jako sekvenci bajtů (právě v tvém případě s username), použij utf8mb4_bin
Více najdeš v dokumentaci https://dev.mysql.com/…charset.html