Magyar ékezetek használata a Weben

A jelenleg legtöbb webszerkesztő által használt és Internet szabványban is rögzített HTML specifikáció legnagyobb korlátja az, hogy a nyugatitól eltérő nyelvek betűkészletének leírására nem alkalmas. A HTML szabvány az ékezetes karaktereket leíró elnevezéssel, ún. named entity kódokkal fejezi ki. A leíró elnevezés az ékezetes karakter angol elnevezésére utal, pl az "é" betű neve "é", az "ö" betű kódja "ö". A HTML 2.0 specifikáció csak a nyugati nyelvek ábécéjében található ékezetes karaktereket írja le. A kelet-európai vagy ázsiai nyelvek valamilyen kerülő úton érhetik el azt, hogy ékezeteik helyesen jelenjenek meg a Weben. A leggyakoribb megoldás az, hogy nem a named entity kódokat, hanem az adott nyelv leírására alkalmas valamilyen karakterkészletet használnak. Ezek a karakterkészletek ugyan csak 8 biten írhatók le, a HTTP protokoll nem zárja ki a 8 bites szöveg továbbítását, így a HTML formázó kódokkal és 8 bites karakterkekkel megírt szöveg helyesen jelenik meg, ha a fogadó oldal is támogatja a kérdéses karakterkészletet. Ily módon oldották meg például az oroszok (KOI-8 karakterkészlettel) vagy a lengyelek (ISO 8859-2 vagy Windows 1250 karakterkészlettel) a nemzeti karakterek megjelenítését.

A magyar hagyomány más utat választott. Ennek alapja az, hogy a magyar és nyugati karakterkészlet között két karakter eltérés van csupán, nevezetesen a "hosszú ő" (nyugati párja a "hullámos ő", rosszabb esetben a "kalapos ő") és "hosszú ű" (nyugati párja a "kalapos ű"). Ha tehát semmi trükköt nem alkalmazunk és az eredeti HTML szerint írjuk a magyar szöveget, az így is olvasható marad az apró eltérés miatt. Sőt, egyes böngészőkben (pl. Internet Explorer 2.0, Netscape Navigator 3.0) lehetőség nyílik arra, hogy a szöveg megjelenítési betutípusát változtassuk, így elérhető a helyes magyar megjelenítés.

Megjegyzés: Más nyelvek esetén ez az egyszerű módszer nem működik. Bár azt az oroszban is meg lehetne tenni, hogy szabvány szerinti HTML kódokat használják és a megjelenítési betűtípust cirill-re állítják, ez egy nagyon kényelmetlen megoldás, ugyanis a HTML forráskód két okból is olvashatatlan lenne szerkesztő üzemmódban: egyrészt a csupa named entity kód miatt, másrészt azért, mert egy orosz karaktert olyan named entity írna le, aminek neve zéró információt tartalmaz a kérdéses cirill karakterre vonatkozóan.

A nemzetközi igények növekedtével a WWW konzorcium tagjai is felismerték a nemzetköziesítés jelentőségét, és nemrég született életképes javaslat a nemzeti karakterek Weben történő megjelenítésére (ún. i18n specifikáció: http://www.w3.org/International/Overview.html). A javaslat az érvényben lévő HTML szabványokra és a meglévő gyakorlatra épül. Az új tervezet szerint lehetőség van arra, hogy a HTML forrásban 8 bites karaktereket használjunk, azonban a szöveg fej részében definiálnunk kell, hogy melyik karakterkészlet szerint lehet értelmezni a 8 bites adatfolyamot. Az elfogadott karakterkészletek nagyjából a MIME által definiáltakkal esnek egybe, magyar nyelv esetén ez vagy a nemzetközi ISO 8859-2 készletet, vagy a Windows 1250 kódlapot jelenti.

Alább egy példa HTML forráskód olvasható, amely igazodik az i18n specifikációhoz.

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; Charset=iso-8859-2">
<META HTTP-EQUIV="Content-Language" Content="hu">
<TITLE>őűáéóúíöüő</TITLE>
</HEAD>
<BODY>
Pédaszöveg: öüóőúéáűíÖÜÓŐÚÉÁŰÍ
<BODY>
</HTML>
Az Internet Explorer 3.0, a Netscape Communicator 4.0 vagy a Unix terminál alapú Lynx böngésző újabb változatai már az i18n specifikáció szerint értelmezik a HTML forrást. Ez azt jelenti, hogy ha egy HTML lap 8 bitesen készült, és tartalmazza a fenti karakterkészlet-információt, azt a böngésző megérti és automatikusan a megfelelő betűtípussal jeleníti meg a szöveget. Ennek a módszernek egyenes következménye, hogy a hagyományos named entity kód értelmezése ezekben a böngészőkben szigorúan egyértelmű, azaz az &otilde; mindig "hullámos ő"-ként jelenik meg, az &ucirc; pedig mindig "kalapos ű"-ként. Ez egyben azt is jelenti, hogy a jelenlegi magyar webszerkesztési hagyományokkal fel kell hagynunk, ugyanis az ellentmond a nemzetköziesítési törekvéseknek.

Jelenleg a magyar weblapok többsége a régi és hagyományos HTML szabvány szerint íródtak. A helyes nyelvi megjelenítést és nemzetközi törekvéseket elősegítendő, a Microsoft kifejlesztett egy egyszerű eszközt, ami lehetőséget nyújt arra, hogy a meglévő weblapokat a webszerkesztők átkonvertálják az új tervezet szerinti formátumra. Ez az eszköz a NETool.exe, ami a named entity kódokat árfordítja 8 bitesre, illetve beilleszti a kódba a megfelelo karakterkészlet információt is. Unix rendszert használóknak pedig csak egy egyszerű shell/sed script szükséges ehhez a feladathoz.