Teckenupsättning
Digital (binär) information består av serier av "ettor" och "nollor", bits, vilka kombineras och tolkas som till exempel bokstäver (eller annan information). För att datorn skall förstå vilka tecken det är frågan om, är den utrustad med olika teckentabeller, teckenuppsättningar, eller teckenkodningar. Dessa innehåller information om hur en den digitala informationen skall tolkas om till bokstäver.
För att webbläsaren skall kunna visa rätt tecken behöver den informeras om vilken teckenuppsättning som används i dokumentet som ska visas. Finns inte den informationen i HTML-dokumentet kommer den använda en förinställd teckenuppsättning, som kan variera mellan länder och språk.
Man får vanligtvis inga problem med att visa alla svenska tecken på en dator som är inställd på att prata svenska, men säg att du visar samma dokument på en japanskspråkig dator.
Många problem med felvisade tecken kan lösas genom att man använder den moderna Unicode-standarden UTF-8.
ISO/IEC 8859-1
Traditionellt har man för att skriva webbsidor på svenska och andra västeuropeiska språk använt sig av teckenuppsättningen (character set, charset) ISO/IEC 8859-1 (eller, lite kortare, iso-8859-1).
ISO/IEC 8859-1 inehåller 191 tecken, vilket innebär att vissa tecken kan behöva ersättas med teckenkoder. Det finns naturligtvis inte heller stöd för några andra alfabeten än det latinska.
UTF-8
En teckenuppsättning som har blivit vanligare, både på webben och i andra tillämpningar på datorer är Unicodestandarden UTF-8. UTF-8 kan visa över en miljontecken och gör det alltså möjligt att blanda alfabeten och språk fritt utan att byta teckenkodning.
Idag klarar alla moderna operativsystem och webbläsare av att tolka UTF-8. Dock måste programmet man skriver sin kod i vara inställt för att använda UTF-8 för att det ska bli det.
Ange din teckenkodning i HTML-dokumentet
För att tala om för webbläsaren vilken teckenkodning som används fogar du in en särskild <meta>
-tagg i HTML-dokumentets huvud, någonstans mellan
<head>
och </head>
.
Om du använder utf-8 ser det ut så här:
<meta content="text/html;
charset=utf-8"
http-equiv="Content-Type">
För iso-8859-1 blir det:
<meta content="text/html;
charset=iso-8859-1" http-equiv="Content-Type">
I HTML 5 är detta förenklat till <meta charset="utf-8">
eller <meta charset="iso-8859-1">
, men eftersom detta inte säkert fungerar i alla webbläsare brukar det rekommenderas att man har både det nya och det gamla med i <head>
om man skriver HTML 5.