Kódovanie znakov určuje, ako prehliadač prečíta bajty stránky ako znaky textu, a pre web sa odporúča UTF-8. Deklaruje sa značkou <meta charset="UTF-8"> v hlavičke stránky alebo hlavičkou servera. Správne nastavenie zaručí, že sa diakritika zobrazí bez chýb.
Prečo ho deklarovať?
Bez deklarácie prehliadač nevie, ktoré znaky bajty predstavujú, a musí si kódovanie odhadnúť. Ak sa pomýli a zistí to neskôr, musí stránku spracovať odznova, čo spomalí načítanie. Pri slovenských textoch sa zlý odhad prejaví nečitateľnými znakmi, najmä pri písmenách s diakritikou, ako sú č, š, ž alebo ľ. Pri tvorbe a úprave súborov preto dbáme aj na to, aby boli uložené v rovnakom kódovaní, v akom ich stránka deklaruje.
Ako kódovanie deklarujeme?
- V HTML:
<meta charset="UTF-8">v hlavičke stránky. - V hlavičke servera: hlavička
Content-Types parametromcharset=UTF-8, pozri HTTP hlavičky.
Kam značku umiestniť?
Značka musí byť celá v prvých 1024 bajtoch dokumentu, odporúča sa ako prvý prvok v hlavičke HTML. Deklarácia za touto hranicou sa berie, akoby chýbala. Pri audite preto kontrolujeme, či je značka správne umiestnená.
Čo si zapamätať o pojme kódovanie znakov UTF-8?
Správne kódovanie je drobnosť, ktorá šetrí problémy so zobrazením textu aj výkonom. Pri tvorbe webu je UTF-8 samozrejmosťou.
Ako to rieši webstrankanamieru.sk: Pri tvorbe webu na mieru sa pojem kódovanie znakov UTF-8 rieši v rámci postupu opísaného v sekcii Proces tvorby webstránky. Hotové weby nájdete v portfóliu, orientačné ceny v cenníku a vlastný projekt môžete konzultovať cez kontakt.
Súvisiace pojmy: HTML, HTTP hlavičky, Webový prehliadač, Rýchlosť stránky, Meta title, Webová stránka, Multijazyčnosť webu
Často kladené otázky o pojme kódovanie znakov UTF-8
Čo je UTF-8?
Ako UTF-8 deklarujem?
Kam patrí značka meta charset?
Čo sa stane, ak kódovanie chýba?
Treba deklarovať aj meta aj hlavičku?
Zdroje
- Chrome for Developers: Declare a character encodingDeklarácia kódovania, umiestnenie a dopady.
- MDN Web Docs: HTTP headersHlavička Content-Type.
- MDN Web Docs: HTML (Glossary)HTML ako základ stránky.