HTML

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).

utf-8 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 minst 107.000 tecken 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.

Anteckningar (Notepad) i Windows är som standard inställt på att skriva en variant av ISO-8859, men går att ställa om till UTF-8. Vilken teckenkodning som är standard i andra program varierar, men UTF-8 blir vanligare allt eftersom tiden går.

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.

Teckenkoder

I HTML finns det ett antal teckenkoder som ersätter specialtecken som kanske inte finns på ditt tangentbord, eller inte finns med i den teckenuppsättning du har valt.

Exempel på hur det kan se ut när tecken inte fungerar kan du se när du skriver de svenska bokstäverna å, ä eller ö i ett HTML-dokument utan att ange teckenuppsättning i <head>.

Om du använder dig av teckenuppsättningen UTF-8 behöver du normalt bara byta ut tecken som står för en funktion i HTML, som <, > och &, eller tecken som är svåra att hitta på tangentbordet. Det är faktiskt enklare att skriva &spades; än att försöka hitta en eventuell tangentkombination för tecknet ♠.

HTML-teckenkoder börjar alltid med & och slutar alltid med ;(semikolon). Om du till exempel skriver &amp; i ditt HTML-dokument kommer det visas i webbläsaren som "&".

Vanligtvis skriver man en kod som är en förkortning av det engelska namnet på tecknet, &amp; ovan är till exempel förkortning för "ampersand", "och-tecken" på engelska, &ocirc; betyder att tecknet som ska visas är ett o med cirkumflex (ô), &auml; betyder "a med umlaut" (eller som vi säger på svenska: ä) och så vidare…

För varje sådan teckenkod finns det också alltid en motsvarande sifferkod, men dessa är betydligt svårare att komma ihåg. Det finns dock sifferkoder för betydligt fler tecken än det finns bokstavskoder för.

En bra och lättanvänd förteckning (på engelska) över alla teckenkoder du kan behöva om du använder utf-8 kan du hitta hos w3schools.

Kom ihåg att alltid ersätta &, < och > (&amp;, &lt; respektive &gt;), då dessa har särskilda funktioner i HTML.