Over karaktersets

Wereldwijd zijn er nogal wat talen, naar schatting 6900. Mandarijn, een Chinese taal, is, met ca. 900 miljoen sprekers, met afstand de grootste.
Het overgrote deel van die talen kan geschreven worden. Daar zijn (combinaties van) lettertekens en/of woordkarakters voor nodig. Bij elkaar zijn er miljoenen verschillende tekens. Het West-Europese schrift heeft in de basis een alfabet met 26 letters. Mandarijn kent ca. 9000 verschillende woordkarakters.

In de computer worden letters gerepresenteerd met getallen. Westerse karaktersets passen in 7 bits per karakter. Dat is de aloude ASCII-tekenset, die van elke byte één bit ongebruikt laat.
Het ligt voor de hand om dat ongebruikte bit te gaan gebruiken voor extra karakters. Zo ontstond de ANSI-tekenset die o.a. accenten heeft op sommige letters.

Elke taal heeft een eigen set karakters. Het is voor de doorsnee computergebruiker niet nodig om altijd alle bestaande karakters beschikbaar te hebben. Een deelverzameling volstaat. Dat zijn de codepages bedacht, die voor elke taal of taalgroep de omzetting regelen van een toetsaanslag of een binaire karaktercode uit een bestand, in een karakter op het scherm en de printer.
In de begintijd van het PC-gebruik gebeurde het wel eens dat de ingestelde codepage bij de installatie van een nieuwe DOS- en/of Windows-versie werd veranderd. In West Europa veranderde IBM codepage 437 dan in Windows codepage 1252, met vreemde zij-effecten tot gevolg. Daarover lees je meer in dit artikel.

Veel organisaties en bedrijven hebben hun eigen codepages bedacht. Dat heeft nogal wat onduidelijkheid veroorzaakt. De International Organization for Standardization (ISO) heeft getracht daar orde in te scheppen met standaarden waarvan ISO 8859 de belangrijkste is. Op Wikipedia staat een overzicht van de codepagina's die door ISO 8859 worden beschreven. Merk op dat daar overlappingen in zitten.

ISO 8859 codepagina's zijn 8-bit coderingen, wat betekent dat ze maximaal 256 karakters kunnen bevatten. Dit is niet voldoende voor alle talen, daarom is Unicode (ISO 10646) ontwikkeld. Dat is een universele tekencodering die alle karakters van alle talen ter wereld moet kunnen bevatten.
Dit doel lijkt te zijn behaald. Er zijn echter nog talen die nog niet op schrift zijn gesteld. Binnen de mogelijkheden van de standaard lijkt daar ruimschoots plaats voor te zijn.
Er zijn bestaan ook verschillende codepages voor Windows, die vaak gebaseerd zijn op ISO 8859. Windows codepage 1252 is een uitgebreidere versie van ISO 8859-1.

Unicode en UTF
Het Unicode Consortium heeft de UTF (Unicode Tranformation Format) standaarden ontwikkeld, omdat de ISO-8859 karakter-sets beperkt zijn en niet compatibel in een meertalige omgeving.
De termen Unicode en UTF worden vaak door elkaar gebruikt. Toch is er een belangrijk verschil:

UTF is er in drie smaken:

Alle moderne browsers ondersteunen UTF-8, UTF-16, Windows-1252 en ISO 8859. In HTML is UTF-8 de aanbevolen standaard en is daarom default.
Je definieert een karakterset in de <head> van een webpagina met:

<meta charset="UTF-8">

Vreemd genoeg geven webcrawlers en tools als als WebDev, een melding als een charset-meta-tag ontbreekt.

Voor dit item is onder meer gebruik gemaakt van onderstaande bronnen:
https://www.ef.nl/blog/language/meest-gesproken-taal-ter-wereld/
https://www.globaltalk.be/blog/7-moeilijke-talen-om-te-leren/
 
https://mojoauth.com/compare-character-encoding/utf-8-vs-utf-16/
 
Een ingang naar veel informatie is:
https://www.w3schools.com/charsets/ref_html_charsets.asp

 
terug

html-809; Laatste wijziging: 15 augustus 2025