Ahoj všem, našla by se tu prosím hodná duše, která by mi polopaticky v bodech vysvětlila co všechno obnáší to, aby mi fungoval web na databázi se správnou diakritikou, řazením českých znaků.
- Databáze má porovnání utf8_czech_ci.
- Tabulky mají porovnání utf8_czech_ci.
- Sloupečky mají porovnání utf8_czech_ci.
- <meta charset="utf-8" />
- A před insertem volám ještě: $conn->query("SET NAMES utf8;"); což mi zajišťuje, že se to do té databáze napíše správně s háčkama a čárkama, ne s hieroglyfy.
Zapomněl jsem ještě na něco? Nemám používat třeba utf8mb4 nebo tak něco mám pocit, že to můj hosting upřednostňuje. Jakým dotazem mohu ověřit, kde je chyba a proč mi to takto zlobí?
Pokud v databázi mám:
a) školení - toto slovo se na webu nezobrazuje nic
b) skoleni - na webu se zobrazuje "skoleni"
c) Å¡kolenà - na webu se zobrazuje správně "školení", nynější stav před tím než jsem přidal řádek $conn->query("SET NAMES utf8;");, ale nevyhovuje mi, že v databázi je to takhle rozbité.
Děkuji moc za rady a tipy.
Při nastavování collation jsem nastavil takhle jak manuálním nastavením, tak i příkazem pomocí ALTER:
https://mediatemple.net/community/products/dv/204403914/default-mysql-character-set-and-collation
Edit: Nový poznatek, když před SELECT předstrčím zmíněné "$conn->query("SET NAMES utf8;"); ", tak se na webu začne zobrazovat stejný nesmysly, tak jak jsou v databázi např.: "Jiřà "