Vyšlo v týdeníku CHIPweek č. 7/95, 24. května 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a507k140.php3

Do Webu za češtinou!

V dnešních Toulkách Internetem se vydáme na téměř detektivní pátrání - pokusíme se zjistit, jak to v praxi vypadá s češtinou a jejími háčky a čárkami, chceme-li používat naši oblíbenou službu WWW (World Wide Web).

Nejprve ale trochu teorie, snad moc neuškodí. Lidé, kteří službu WWW vymýšleli (ve švýcarském CERNu, viz první díl Toulek), se k našemu mateřskému jazyku nezachovali příliš vlídně. Jednoduše jej nevzali na vědomí, stejně tak jako prakticky všechny ostatní východoevropské a jiné „exotické" jazyky. Mysleli pouze na jazyky západoevropské, kterým je šita na míru znaková sada, resp. kódování, označované jako Latin 1 (zatímco pro češtinu by byl zapotřebí kód Latin 2, nebo jiný vhodný kód). Pouze tomuto kódu totiž uzpůsobili konkrétní pravidla pro konstrukci tzv. WWW stránek (neboli jazyk HyperText Markup Language, zkratkou HTML). Máme tedy s češtinou v rámci služby WWW smůlu?

Naštěstí ne tak docela. Tvůrci služby WWW totiž přeci jen nezabouchli zcela dveře před češtinou a ostatními národními jazyky, ale ponechali otevřenou malou skulinku, skrz kterou je možné se při troše dobré vůle protáhnout. Tato skulinka spočívá v tom, že přenosový mechanismus služby WWW (protokol HTTP, neboli HyperText Transfer Protocol) přenáší jednotlivé znaky jako osmibitové - a to i přesto, že za normální situace mu jsou „podstrkovány" pouze znaky sedmibitové (protože jazyk HTML předpokládá pouze použití sedmibitových ASCII znaků). Je tedy v zásadě možné, aby se obě zúčastněné strany - WWW server a WWW klient - dohodly, a posílaly si místo sedmibitových znaků (bez háčků a čárek) znaky osmibitové, mezi kterými již mohou být obsaženy nejrůznější národní znaky. Není to sice v souladu s tím, co říkají standardy definující službu WWW, ale když to jinak nejde ....

V praxi to pak znamená, že WWW server musí být speciálně upraven, aby své informace textového charakteru mohl nabízet i s českou diakritikou. Stejně tak ale musí být upraven i klientský program (browser), prostřednictvím kterého uživatel využívá službu WWW. Po technické stránce to sice nemusí být zcela triviální, ale řešitelné to je. Větší problém však bývá se vzájemnou koordinací WWW klientů a serverů - možností, jak kódovat češtinu, totiž existuje a používá se celá řada. Na některých platformách sice některé způsoby kódování češtiny převládly (například v prostředí MS Windows je to použití tzv. kódové stránky 1250), ale zde je třeba si uvědomit, že klienti jednoho a téhož serveru mohou „stát" na více různých platformách - obsah jednoho a téhož WWW serveru si může chtít prohlížet prostřednictvím svého browseru jak uživatel počítače PC, pracující v prostředí MS Widnows, tak i například uživatel Unixového počítače, uživatel počítače Mac apod. No a na všech takovýchto platformách se obvykle používá jiný způsob kódování češtiny. Co pak ale má dělat chudák WWW server, aby se zavděčil všem svým klientům?

Než se vydáme hledat odpověď, rád bych vám ukázal jeden zajímavý příspěvek pana Ondřeje Bojara - vidíte jej na dnešním prvním obrázku [ GIF1, URL1] . Je zajímavý tím, že vyjmenovává prakticky všechny známé způsoby kódování češtiny, a umožňuje uživateli otestovat si, zda je jeho browser schopen korektně zobrazovat češtinu v některém z těchto způsobů kódování. Všimavý čtenář si z tohoto prvního obrázku jistě povšimnul, že jsem jej snímal v prostředí MS Windows, kde se používá tzv. kódová stránka CP 1250 (zavedená firmou Microsoft). Poněkud „zoufalý" tón úvodní části tohoto příspěvku pak vhodně dokresluje skutečný stav věcí v oblasti kódování češtiny, (ne)jen v souvislosti se službou WWW.

Vraťme se ale nyní k ryze praktické otázce - jak se má chovat WWW server, aby si jeho „čtenáři", používající různé browsery s různými způsoby kódování češtiny, přišli na své háčky a čárky? Zřejmě nejrozumějším řešením je to, když se WWW server svého uživatele hned na začátku explicitně vyptá, jaké kódování češtiny jeho prohlížecí program používá. Takto se chová například server, jehož domovskou stránku vidíme na našem dnešním druhém obrázku [ GIF2, URL2] (kde v záhlaví a na konci stránky najdete odkazy, jejichž navolením nastavíte požadovaný způsob kódování) - ASCII znamená bez háčků a čárek, WIN (CE) odpovídá použití kódové stránku 1250 v prostředí MS Windows, ISO je kód ISO Latin2, který se obvykle používá na platformě Unixu, a konečně CP852 je kódová stránka 852, resp. kód PC Latin 2 (typicky určený pro prostředí MS DOS).

Ještě více od lesa na to šli ve výukovém sdružení Omicron [ GIF3], kde své uživatele nezatěžují žádnými nesrozumitelnými klíčovými slovy, ale dají mu vybrat z toho, co se mu korektně zobrazuje. Nejspíše ale s drobnými chybami, protože můj browser jinak korektně zobrazoval všechny národní znaky v kódování pro MS Windows (ale zde si ukrojil kus oné známé věty o strašlivě žluťoučkém koni, co příšerně úpěl). Navolením třetího odkazu shora jsem se pak správně dostal na domovskou stránku časopisu Computer Echo, který kromě obvyklé papírové formy vychází již také v elektronické formě (viz čtvrtý obrázek [ GIF4, URL4] ).

Zajistit, aby server posílal svému klientovi (browseru) české texty s požadovaným způsobem kódování češtiny, je úkolem pro toho, kdo zmíněný server implementuje a „zabydluje" (vytváří jeho obsah). Může to udělat například tak, že české texty má u sebe uloženy právě jednou, s jedním implicitním způsobem kódování češtiny, a při každém jednotlivém požadavku klienta za chodu zkonvertuje český text do takového způsobu kódování, jaký klient požaduje. Alternativou je pak držet všechny stránky ve více samostatných exemplářích, po jednom pro každý podporovaný způsob kódování.

Nicméně ani uživatel služby WWW nepřijde při rozdělování povinností zkrátka. Také on je totiž povinen přinutit svůj prohlížecí program (browser), aby správně zobrazoval všechny „háčky a čárky" v rámci příslušného kódování. To může v praxi obnášet různé věci, v závislosti na konkrétním browseru a konkrétní platformě, na které je tento browser provozován.

Na tomto místě si dovolím „přihřát vlastní polívčičku" a ukázat vám dvě stránky z WWW serveru, který jsem sám „stavěl" (WWW serveru firmy DCIT). Na první z nich (kterou vidíte na dnešním pátém obrázku [ GIF5, URL5] ) jsem se snažil sručně vystihnout, v čem je problém, a pak i ukázat uživatelům konkrétních browserů pro prostředí MS Windows, jak konkrétně mají postupovat, chtějí-li svůj prohlížecí program přimět ke správnému zobrazování češtiny. Jeden konkrétní návod (pro oblíbený browser Air Mosaic firmy Spry) pak můžete vidět na šestém obrázku [ GIF6, URL6] - u většiny browserů pro MS Windows naštěstí stačí jen nastavit používání českých fontů pro zobrazování. Obvykle to pak funguje bez problémů, ale už jsem se setkal i s opakem: například u starší verze browseru WEBSurfer z balíku Internet Chameleon firmy Netmanage problémy vyvstaly (ale v nové verzi by již měly být odstraněny).