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:
In de westerse wereld is dit meestal voldoende. Voor andere talen gebruik je:
charset | naam |
iso-8859-1 | Latin 1 (West Europees) |
iso-8859-2 | Latin 2 (Oost Europees) |
iso-8859-3 | Latin 3 (Zuid Europees) |
iso-8859-4 | Latin 4 (Noord Europees) |
iso-8859-5 | Cyrillisch (o.a. Russisch) |
iso-8859-6 | Arabisch |
iso-8859-7 | Grieks |
iso-8859-8 | Hebreeuws |
iso-8859-9 | Latin 5 (Turks) |
iso-8859-10 | Latin 6 (Nordisch, o.a. IJsland) |
iso-8859-11 | Thais |
iso-8859-12 | (Niet gebruikt) |
iso-8859-13 | Latin 7 |
iso-8859-14 | Latin 8 (Keltisch: Gaelic, Welsh) |
iso-8859-15 | Latin 9 Variatie op West Europees, o.a. Lets |
iso-8859-16 | Latin 10 |
Voor Grieks neem je bijvoorbeeld ISO-8859-7 en voor Turks ISO-8859-9.