Karaktersets

Over karaktersets
Al heel vroeg in de ontwikkeling van computers gebruikte men getallen om karakters op het scherm weer te geven. Daarin ontstonden al gauw standaarden zoals BCD, EBCDIC en ASCII. De ASCII-code omvat 128 karakters, waarvan er 95 zichtbaar zijn. De andere 33 zijn contrôle-karakters, zoals een Carriage Return en een Linefeed.
De 128 karakers van de ASCII-set waren al gauw te krap. Uit de ASCII-set ontstond de ASCII-extended set, die 256 karakters omvat (nummers 0-255). Maar ook dit bleek al snel veel te beperkt te zijn.

De getallen die nodig zijn voor het weergeven van de extended ASCII-set passen elk in één byte. Om meer karakters te kunnen weergeven is men overgestapt op codes van twee bytes elk. Daarmee kun je theoretisch 65536 karakters weergeven. Deze karakterset, die behalve Westerse ook Arabische, Chinese en Japanse karakters omvat, is beschreven in de internationale standaard ISO 10646.

Karakters en Fonts
Er is verschil tussen karakters en fonts. Een karakter is een letter, cijfer of leesteken. Het font bepaalt hoe dat karakter er op je scherm of op papier uit ziet.
Hieronder zie je het alfabet, de cijfers en een paar leestekens in 3 verschillende fonts, namelijk Verdana, Courier New en WingDings.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . , ? !

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . , ? !

A B C D E F G H I J K L M N O P Q R S T U V W
X Y Z a b c d e f g h i j k l m n o p q r s
t u v w x y z0 1 2 3 4 5 6 7 8 9 . , ? !

Het font kent nog andere eigenschappen zoals Grootte, vet, cursief, enz. Maar dat heeft met het karakter op zich niets te maken. De vreemde tekentjes van het Wingdings-font zijn nog steeds het alfabet en de cijfers!
Het is wel noodzakelijk dat het font-file (waarin staat beschreven hoe het karakter wordt getoond) beschikbaar is op de computer waarop dit wordt getoond. Anders zie je de default-waarde, of helemaal niets!
Behalve dat het font beschikbaar moet zijn op de PC, moet het ook beschikbaar zijn voor de browser. Als je deze bladzijde bekijkt met een browser dan Edge of Chrome, is het goed mogelijk dat je bij Wingdings gewoon het alfabet en de cijfers ziet staan in plaats van de Wingdings-tekens.

Unicode
HTML 4 gebruikt de karakterset die is gedefinieerd in de internationale standaard ISO 10646. Deze standaard heet "Universal Character Set", afgekort UCS. Kenmerk is dat de code bestaat uit twee bytes. Hij bevat duizenden karakters, die gebruikt worden in (bijna alle) talen over de hele wereld. In de westerse wereld volstaat een deel van deze karakterset. Die is vastgelegd in de standaard ISO 8859-1. In de moderne tekstverwerkers wordt deze gewoonlijk aangeduid met Latin-1.
In MS-Windows wordt dit een Code page genoemd. De ISO 8859-1 karakterset is opgenomen in codepage 1252. Een karakterset zoals bijvoorbeeld het Vietnamees staat in codepage 1258.

Karaktersets in HTML
Als je niets opgeeft wordt in HTML gebruik gemaakt van een deel van de Universele Karakterset (UCS), namelijk wat is ingesteld als default in het Operating System van je PC. Als je (Nederlandstalige) website bezocht wordt door iemand uit China, zal de pagina niet goed worden weergegeven. Dat komt omdat in China met andere codepages wordt gewerkt. Om nu te zorgen dat ook in China de gewone westerse letters op het scherm verschijnen, moet je de browser vertellen welke karakterset er moet worden gebruikt. Dat doe je met een <meta>-tag, die je in de <HEAD> van alle afzonderlijke HTML-bestanden van je website moet plaatsen:

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

In de westerse wereld is dit meestal voldoende. Voor andere talen gebruik je:

charsetnaam
iso-8859-1Latin 1 (West Europees)
iso-8859-2Latin 2 (Oost Europees)
iso-8859-3Latin 3 (Zuid Europees)
iso-8859-4Latin 4 (Noord Europees)
iso-8859-5Cyrillisch (o.a. Russisch)
iso-8859-6Arabisch
iso-8859-7Grieks
iso-8859-8Hebreeuws
iso-8859-9Latin 5 (Turks)
iso-8859-10Latin 6 (Nordisch, o.a. IJsland)
iso-8859-11Thais
iso-8859-12(Niet gebruikt)
iso-8859-13Latin 7
iso-8859-14Latin 8 (Keltisch: Gaelic, Welsh)
iso-8859-15Latin 9 Variatie op West Europees, o.a. Lets
iso-8859-16Latin 10

Voor Grieks neem je bijvoorbeeld ISO-8859-7 en voor Turks ISO-8859-9.

terug