piatok, júna 30, 2006

Kódovanie znakov

Preklady

Občas sa stáva, že sa webová stránka správne zobrazuje na autorovom počítači, kde bola vytvorená, ale keď si ju cez internet čítajú iní návštevníci, text sa stane nečitateľným. Namiesto písmen s diakritikou sa objavujú štvorčeky, otázniky, alebo celkom iné písmená. Príčinou je, že autor na stránke nezadal kódovanie (alebo ho zadal nesprávne). Táto chyba je pomerne častá, pretože sám autor si ju zvyčajne nevšimne – musí ho na to upozorniť niekto druhý.

Čo je to kódovanie? Zjednodušene povedané, z technického hľadiska sú v počítači všetky údaje uložené ako čísla (a všetky čísla sú uložené ako jednotky a nuly – ale týmto sa dnes nebudeme zaoberať). Takže aj písmená a iné znaky napísané v textovom editore si počítač pamätá ako čísla; každému znaku priradí nejaké číslo, napríklad „A“ bude 65, „B“ bude 66,... a tak textový súbor uloží na disk ako postupnosť čísel, a potom ho zase z disku ako postupnosť čísel prečíta a zobrazí príslišné písmená; aj cez internet ho pošle ako postupnosť čísel.

Kameň úrazu je práve v tom, že ktorý znak zodpovedá ktorému číslu. Z historických dôvodov existuje niekoľko rôznych noriem. Každá berie určitú skupinu znakov a nejako im prideľuje čísla. Takzvané 8-bitové normy sa snažia používať len čísla od 0 do 255 – do toho sa samozrejme nemôžu zmestiť všetky znaky, takže daná norma vždy zahŕňa len znaky pre niekoľko jazykov. Slovenský MS Windows štandardne ukladá textové súbory v kódovaní „windows-1250“. (Ak používate anglický, je to „windows-1252“ a niektoré znaky s diakritikou sa pri uložení stratia.) Na Linuxoch sa zase zvyčajne používajú štandardy ISO, na slovenských „ISO-8859-2“ a na anglických „ISO-8859-1“.

Okrem toho existuje štandard Unicode, ktorý sa snaží zahrnúť všetky znaky všetkých abecied; jedným z jeho kódovaní je „UTF-8“. Ak uložíte textový súbor v kódovaní UTF-8, môže byť písaný v hocijakom jazyku. Takže rozhodne odporúčam používať toto kódovanie.

Dôležité však je, aby webový prezerač návštevníka vašej stránky vedel, v akom kódovaní bola vytvorená. Dnešné webové prezerače zvyčajne poznajú mnoho kódovaní, a používateľ si môže správne kódovanie zvoliť v menu. Ak však správne kódovanie uvediete v stránke, návštevník nič nastavovať nemusí, pretože sa mu to správne nastaví samo. Ak teda používate kódovanie „windows-1250“, uvádzajte v hlavičke stránky:

<meta equiv="Content-Type" content="text/html; charset=windows-1250"/>

Ak chcete stránku uložiť v kódovaní UTF-8, v programe Poznámkový blok (Notepad) vyberte v menu „Súbor | Uložiť ako...“ a v dolnom riadku vyberte „Kódovanie: UTF-8“. Toto urobte pri prvom uložení súboru, neskôr si to už program bude pamätať. A v hlavičke stránky uveďte:

<meta equiv="Content-Type" content="text/html; charset=UTF-8"/>

štvrtok, júna 29, 2006

Vitajte na stránke „WWW príklady“!

Tento blog bude o vytváraní webových stránok a rôznych veciach s tým spojených. Príklady a vysvetlenia pre začiatočníkov, ale aj užitočné tipy z praxe pre pokročilých.

Úplný začiatočník by si podľa neho mal vedieť vyrobiť webovú stránku v súlade s internetovými štandardmi; čo je latka, ktorú nespĺňajú mnohé komerčne robené weby. Na druhej strane si myslím, že aj webmajster s niekoľkoročnou praxou tu občas nájde nejaký šikovný trik alebo užitočnú pomôcku – samozrejme zďaleka nie v každom článku.

Budú sa tu často vyskytovať „čarovné slovíčka“ ako HTML, XHTML, CSS, JavaScript, PHP, a niektoré ďalšie. Keby čokoľvek nebolo jasné, opýtajte sa v diskusii pod článkom. Budem sa snažiť zverejňovať nové články pravidelne, pokiaľ možno jeden denne; ale nič nesľubujem.

Dosť bolo rečí. Spravme si rýchlo prvú webovú stránku. Do textového súboru skopírujte nasledujúci text, a potom ho uložte pod názvom napríklad „pokus.html“. A otvorte v internetovom prezerači:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sk" lang="sk">
<head>
<meta equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Moja prva stranka</title>
<style type="text/css">
h1 {
 color: blue;
}
</style>
</head>
<body>

<h1>Moja prva stranka</h1>
<p>Tuto webovu stranku som si vytvoril za niekolko sekund.</p>

</body>
</html>

Ak sa všetko podarilo, výsledná stránka by mohla vyzerať asi takto:

Moja prva stranka

Tuto webovu stranku som si vytvoril za niekolko sekund.

O význame jednotlivých značiek až niekedy nabudúce.