Speciale karakters in HTML

Het hele internet draait om informatie. Informatie breng je over met behulp van plaatjes, maar vooral met tekst. Tekst bestaat uit zinnen die weer uit woorden en leestekens bestaan. De meeste letters waarmee de woorden gevormd worden kun je direct invoeren vanaf je (standaard-)toetsenbord.
Letters met accenten staan niet op een standaard toetsenbord. Moderne tekstverwerkers hebben daar een oplossing voor. Als je bijvoorbeeld de combinatie 'e tikt, verschijnt er é op je scherm.
In HTML werkt het anders. Daar moet je karakter referenties gebruiken. Dat zijn codes waarmee je letters met acccenten, maar ook speciale tekens kunt maken zoals het Euro-teken .

Er zijn twee soorten karakter referenties: numerieke karakterreferenties en karakter entiteitsreferenties.

numerieke karakterreferenties
Een numerieke karakterreferentie heeft de vorm: &#xxxx; (let op de punt-komma)
Op de plaats van xxxx vul je het rangnummer in (max. vier cijfers) binnen de karakterset. Dat is een gestandaardiseerde lijst met karakters. Wereldwijd worden er ongeveer 15 van deze lijsten gebruikt, die zijn vastgelegd in de internationale norm ISO 8859. In de westerse wereld is de lijst iso-8859-1 (Ook bekend als Latin-1) het meest gebruikt.

In deze lijst heeft elk karakter een nummer. Zo is de letter A nr. 65, B is nr. 66, a is nr. 97, enz.
Ook speciale karakters kun je op deze manier aanduiden; de letter è is nr. 232, é is nr. 233, is nr. 8230, is nr. 8240, enz.
Het -teken is nr. 8364.

Een toelichtend verhaal over karaktersets staat HIER.
Het voert te ver om hier alle numerieke karakter-codes te noemen. In het dagelijkse gebruik zijn ze ook onhandig omdat het moeilijk is om al die aparte codes te onthouden. Je kunt beter gebruik maken van karakter entiteitsreferenties. Daar zit veel meer structuur in.

karakter entiteitsreferenties
De aparte numerieke karakter codes zijn moeilijk te onthouden. Daarom definieert de HTML-standaard de karakter entiteitsreferenties, waarmee het veel eenvoudiger werken is.
De referenties zijn er alleen voor de "speciale" karakters, niet voor de gewone letters en cijfers. Ze hebben de vorm &naam; (let op de punt-komma). Zo is bijvoorbeeld è is è, é is é, is ‰, is …, enz.
Het -teken is €.

Alle browsers ondersteunen de numerieke karakterreferenties. De gangbare karakter entiteitsreferenties (zoals letters met accenten) worden door alle moderne browsers ondersteund. Bij de wat minder gangbare entiteitsreferenties (zoals wiskundige symbolen) kun je voor verassingen komen te staan. De entiteiten worden als gewone tekst op het scherm gezet, of je krijgt in plaats van het teken een vierkantje te zien, of er wordt niets getoond. Dat kun je voorkomen door een <META>-tag in de <HEAD> van je HTML-bestand te zetten:

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
 
In voorkomende gevallen is het te proberen om de numerieke karakterreferentie op te zoeken en in je code te zetten. Vooral bij Internet Explorer wil dat nog wel eens helpen.
Dit soort problemen zal langzamerhand gaan verdwijnen, omdat de ondersteuning voor karakter entiteitsreferenties met elke nieuwe versie van de browsers wordt verbeterd.

Merk op dat de spelling van karakter entiteitsreferenties hoofdlettergevoelig is. Dit is een uitzondering op de regel in HTML, dat niet gevoelig is voor hoofd- of kleine letters. Zo geeft de entiteit &euml; het karakter ë op je scherm, maar &Euml; geeft Ë.
Een overzicht van de bestaande entiteitsreferenties vind je HIER.
In HTML5 zijn er veel meer karakter entiteiten dan hier wordt getoond. Zie daarvoor de overzichten A t.m. Z bij de HTML entities op w3schools.com.

In de manier waarop de karakter entiteiten zijn gedefinieerd zit een zekere structuur.

Het gebruik van karakterreferenties is niet dwingend voorgeschreven. Als verwarring uitgesloten is mag je het "echte" karakter gebruiken in plaats van de referentie.
Als je HTML-code wilt weergeven op je web-pagina, zoals dat op deze site heel veel gebeurt, is er gauw sprake van verwarring. De browser zal niet meer weten wat er nu tekst is en wat er nu tag is. Dat kun je zelf bepalen door gebruik te maken van de entiteiten &lt;, &gt;, &quot; en &amp; om de tekens <, >, " en & weer te geven.

Opmerking
Bij oudere browsers werken niet alle karakterreferenties. Zo werken bij Internet Explorer 9 en ouder de karakters ⅓, ⅔, ⅛, ⅜, ⅝ en ⅞ niet. In plaats daarvan zie je op het scherm: &frac13;, &frac23;, &frac18;, &frac38;, &frac58; en &frac78;.

 
terug

html-150; Laatste wijziging: 23 augustus 2022