Prečo UTF-8?

Pre počítačovú reprezentáciu slovenských znakov s diakritikou sa historicky vyvinulo viacero kódových stránok. Aj keď sa niektoré z nich (napr. kódovanie Kamenických) v súčasnosti už prakticky nepoužívajú, stále sú pre slovenské texty aktuálne dve navzájom nekompatibilné kódové stránky: ISO-8859-2 a Windows-1250. Rozdiely medzi nimi sú na prvý pohľad minimálne, ak sa však nepoužije správna konverzia, stratia sa v texte písmená Ľ,Š,Ť,Ž,ľ,š,ť,ž.

Po vstupe Slovenska do Európskej únie vznikol ďalší problém - v rámci členských štátov EÚ sa používa viac než 10 národných kódových stránok prispôsobených pre jazykové potreby konkrétnych krajín. Z uvedeného dôvodu nie je napr. možné do textu v západoeurópskej kódovej stránke ISO-8859-1 doplniť slovenské mená, názvy alebo adresy so správnou diakritikou. Navyše, ak by sme text napísaný v západoeurópskej kódovej stránke zobrazili na počítači ktorý využíva slovenskú kódovú stránku, zobrazia sa namiesto niektorých západoeurópskych znakov slovenské.

V súvislosti so zavedením eura od 1.1.2009 treba tiež zdôrazniť, že znak € nie je súčasťou kódovej stránky ISO-8859-2 a preto uvedené kódovanie už v súčasnosti nemožno plnohodnotne používať.

Všetky spomínané problémy majú pomerne jednoduché a elegantné riešenie - namiesto národných kódových stránok je potrebné použiť univerzálne kódovanie Unicode, ktoré zahŕňa znaky všetkých jazykov používaných kdekoľvek na svete (t.j. vrátane Grécka, Ruska, Číny, atď). Pri použití Unicode má každý znak jednoznačne pridelený tzv. Unicode codepoint, ktorý zabezpečuje, že pri použití akéhokoľvek národného prostedia a akéhokoľvek operačného systému nemôže dôjsť k zámene znakov a tým k nesprávnej interpretácii textu. Viaceré operačné systémy preto v súčasnosti používajú Unicode pre všetky interné operácie (Windows, Linux, Mac). Unicode je teda konečným riešením všetkých problémov s diakritikou - a čím skôr bude zavedený do bežnej praxe, tým skôr sa problémy s diakritikou stanú minulosťou.

Konkrétnu reprezentáciu znakov v univerzálnom kódovaní Unicode v textovom súbore určuje tzv. Unicode Transformation Format (UTF). Napr. pri použití formátu UTF-16 sú pre uloženie každého znaku potrebné 2 bajty - t.j. velkosť textového súboru by bola dvojnásobná oproti súboru v národnej kódovej stránke. Podstane efektívnejší je preto formát UTF-8 štandardizovaný ako ISO/IEC 10646, ktorý pre všetky znaky obsiahnuté v znakovej sade ASCII (t.j. číslice, písmená bez diakritiky, atď) vyžaduje iba 1 bajt a pre reprezentáciu slovenských znakov s diakritikou 2 bajty. Veľkosť textového súboru v slovenčine sa tak pri použití formátu UTF-8 zväčší iba nepatrne, no získajú sa tým všetky výhody použitia Unicode.