A HTML (angolul: HyperText Markup Language=hiperszöveges jelölőnyelv) nyelvet már 1991 óta használják, de csak az 1997-ben megjelent HTML 4.0 óta lehetséges a nemzetközi karakterek teljeskörű használata. Amikor egy HTML dokumentum speciális karaktereket tartalmaz a 7 bites ASCII karakterein kívül, akkor két célt érdemes figyelembe venni: az információk integritását és az univerzális böngésző megjelenést.
A karakterkódolás az informatikában a betűk, a számok és egyéb karakterek megjelenítéséért felel. Minden egyes karakterhez egy egyedi számot rendelünk hozzá, például az ASCII karaktergyűjteményben az A betűhöz a 65-ös szám tartozik. Ez azért fontos, mert az informatikai eszközök (számítógépek, telefonok) az ember számára értelmezhető karaktereket elektronikus formában tudják csak megjeleníteni, azaz a minden karaktert számok formájában tárolnak. Ezeket a számokból álló rendszereket nevezik karakterkódolásnak.
Ahhoz hogy eltudjuk dönteni, hogy milyen karakterkódolásra van szükségünk, először meg kell határoznunk, hogy milyen karaktereket szeretnénk megjeleníteni. Különös tekintettel azokra a karakterekre, amelyeket nem tartalmazza az angol ABC. Például a magyar nyelv esetében az ékezetes karakterekre.
Ha elkészítettünk egy listát, amelyen szerepelnek az általunk használni kívánt karakterek, akkor meg kell keresnünk azt a karakterkészletet, amely tartalmazza az összes számunkra szükséges karaktert.
Magyar nyelvterületen leggyakrabban az UTF-8 karakterkódolást szokták alkalmazni, mert ez tartalmazza az összes általunk használt karakter ékezetes változatát is.
Több módja is van annak, hogy a HTML nyelven belül megadjuk a karakterkódolást, a megadás módja a dokumentum típusától függ. A webszerver tartalmazhatja a karakterkódolást, a karakterkészlet a Hypertext Transfer Protocol (HTTP) Content-Type tartalomtípus fejlécében kerül meghatározásra az alábbi módon:
Content-Type: text/html; charset=ISO-8859-4
Ez a módszer kényelmes módot kínál a HTTP szervernek a dokumentum kódolásának a tartalmai egyeztetés szerint történő megváltoztatására.
Egy HTML dokumentum esetében a <head> részbe kell helyeznünk a karakterkódolást[1] definiáló részt. Régebbi HTML verziók esetében még szükséges volt az alábbi megadási módot alkalmaznunk.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
A HTML5 megjelenésével viszont már rendkívül megrövidült a karakterkódolásnak a megadása.
<meta charset="UTF-8">
AZ XHTML dokumentumok esetében van egy harmadik lehetőség is. Ilyenkor egy XML deklarációval állítjuk be a megfelelő karakterkódolást.
<?xml version="1.0" encoding="ISO-8859-1"?>
A legújabb HTML szabványok a WHATWG kódolási szabványra hivatkoznak, amely meghatározza azoknak a karakterkódolásoknak a listáját, amelyeket a böngészőknek kötelezően támogatniuk kell. A HTML-szabványok tiltják más kódolások támogatását.[2] A kódolási szabvány előírja, hogy új formátumok, új protokollok és az új dokumentumok szerzői kötelesek kizárólag UTF-8 karakterkódolást alkalmazni.[3]
Az UTF-8 mellett a következő karakterkódolások engedélyezettek a HTML szabvány szerint:[4]
A következő karakterkódolások támogatása szükséges:[3]
Az alábbi karakterkészletek használata kifejezetten tiltott:[4]
A natív karakterkódolások mellett a karakterek is kódolhatók karakterhivatkozásokként. Ezek olyan speciális karakterek, amelyek alkalmasak arra, hogy a böngésző összekeverje őket egy HTML taggel. Például egy kisebb (<) jel esetében a böngésző vélheti úgy, hogy ez egy HTML tag, ebben az esetben a HTML kódot teljesen olvashatatlanná tenné. A karakterhivatkozásokkal különböző fenntartott HTML karaktereket tudunk a böngésző számára is könnyen értelmezhetővé és megjeleníthetővé tenni.
A karakterhivatkozásokat hívhatjuk entitásnak is.[5]
Karakter | Megnevezés | Entitás név | Entitás szám |
---|---|---|---|
nem törhető szóköz | |   | |
< | kisebb, mint | < | < |
> | nagyobb, mint | > | > |
& | és | & | & |
" | dupla idézőjel | " | " |
' | aposztróf | ' | ' |
¢ | cent | ¢ | ¢ |
£ | font | £ | £ |
¥ | jen | ¥ | ¥ |
€ | euró | &euro | € |
© | copyright | © | © |
® | bejegyzett védjegy | ® | ® |
Az alább található cikkek segítséget nyújthatnak a karakterkódolások gyakorlati használatában.