Kódování češtiny v dokumentech

Každý webový dokument je, coby čistý text ve své prapodstatě, napsán v některém ze znakových kódování (znakové sadě, character set, charset, character encoding). Dnes se na webu nejčastěji setkáte s univerzálním kódováním UTF-8; občas můžete narazit i  na ISO-8859-1 u anglických dokumentů či ISO-8859-2 (nebo podobné WINDOWS-1250) u českých. Je nutné zajistit, aby kódování, ve kterém je dokument skutečně napsán, souhlasilo s kódováním, které cílový webový prohlížeč použije při jeho interpretaci/dekódování. Při nesouladu uvidí člověk, který si váš web bude prohlížet, více nebo méně nesrozumitelný text.

Pokud své stránky píšete v kódování UTF-8, nemusíte se o nic dalšího starat. Návštěvníci uvidí diakritiku (a jiné ne-ASCII znaky) tak, jak zamýšlíte.

Při interpretování staženého webového dokumentu prohlížeč zjišťuje, v jakém kódování je dokument napsán, podle následujících ukazatelů:

Tento seznam je uspořádán podle priority: to znamená, že zašle-li server při přenosu dokumentu hlavičku Content-Type se specifikovaným kódováním, vezme jej prohlížeč za směrodatné. Pokud adekvátní hlavička přítomna není, podívá se prohlížeč na případné značky meta ve zdrojovém textu dokumentu. Pokud ani ta není v požadované formě přítomna, přistoupí se k implicitnímu nastavení prohlížeče.

Webový server na Aise (čili www.fi.muni.cz) implicitně hlavičku Content-Type posílá a prohlížečům sděluje, že se používá kódování UTF-8. Toto chování je možné změnit direktivou AddDefaultCharset v adekvátním souboru .htaccess. Její syntaxe je AddDefaultCharset kódování a její přítomnost (na vlastním řádku) v souboru .htaccess v adresáři s webovými dokumenty způsobí, že pro tyto dokumenty bude prohlížečům oznamováno příslušné změněné kódování. Namísto platného kódování je možné v parametru uvést i slovo Off, čímž se posílání hlavičky vypne úplně. Je pak žádoucí do dokumentů uvést značku meta, podle níž se bude prohlížeč při zobrazování těchto dokumentů řídit.

Serverem podporovaná tvorba vícejazyčných mutací dokumentů

Součástí požadavku o konkrétní stránku, který zasílá webový prohlížeč serveru, je i prioritně uspořádaná specifikace jazyků, v nichž prohlížeč stránky preferuje. (Tento preferenční seznam v prohlížeči nastaví uživatel.) Na serveru jsou různé mutace jedné stránky uloženy v různých souborech v jednom adresáři, přičemž jednotlivé jazykové mutace jsou označeny dodatečnou příponou v závislosti na jazyku. Kupříkladu dokument https://www.fi.muni.cz/~xnovak99/stranka.html může být na disku reprezentován soubory stranka.html.cs, stranka.html.en a stranka.html.pl (česká, anglická a polská verze).

Pokud server má k dispozici více jazykových variant požadovaného dokumentu, vrátí prohlížeči tu z dostupných variant, která nejvíce vyhovuje prioritám prohlížeče. Pokud žádná z preferovaných jazykových variant dostupná není, vrátí server verzi českou.

Uvedené chování je (na straně serveru) potlačeno, pokud je splněna alespoň jedna z podmínek:

To mj. znamená, že umístíte-li do jednoho adresáře soubory stranka.html.cs, stranka.html.en a stranka.html, tak uživateli na požadavek na dokument stranka.html bude vždy vrácen obsah souboru stranka.html.