U bent hier:

  1. Handleiding
  2. Ontwikkeling
  3. Karaktercodering
  4. Karakterreferenties

Karaktercodering: Karakterreferenties

Naast het specificeren van een karakterset hebben webontwikkelaars nog een methode tot hun beschikking voor het aangeven van geaccentueerde karakters, punctuatietekens en symbolen: karakterreferenties (ook wel ‘character references’ of ‘character entities’ genoemd).

Karakterreferenties zijn codes in de HTML die verwijzen naar karakters in de ISO-10646/Unicode tabel (de Universal Character Set) – deze komt overeen met de utf-8 karakterset. Karakterreferenties zien er als volgt uit.

Voorbeeld van een karakterreferentie (HTML)

ë

Het voorbeeld toont een karakterreferentie naar het karakter e-umlaut (ë). Karakterreferenties komen voor in drie notaties: naam, decimale notatie en hexadecimale notatie. Naamnotaties zijn bedacht voor een aanzienlijke reeks aan karakters zodat webontwikkelaars ze gemakkelijk kunnen onthouden. De decimale en hexadecimale notaties geven echter toegang tot alle karakters, dus ook de karakters waarvoor geen naamnotatie bestaat.

Links en referenties

Beschikking over karakters binnen de utf-8 karakterset

De ISO-10646 karaktertabel komt overeen met de utf-8 karakterset. Karakters die men dus terugvindt in de utf-8 karakterset, zoals gekromde (typografische) aanhalingstekens, zijn ideaal te schrijven in de vorm van karakterreferenties. Niet alle browsers ondersteunen echter het volledige utf-8 karakterrepertoire. Daardoor zullen met karakterreferenties bepaalde karakters niet worden getoond. Deze problemen beperken zich in de praktijk slechts tot enkele speciale punctuatietekens.

Een opmerkelijk voordeel van karakterreferenties is dat ze gebruikt kunnen worden voor karakters in de utf-8 karakterset terwijl voor de pagina een andere karakterset is gespecificeerd. Zo kan een pagina iso-8859-1 gecodeerd zijn en kunnen er toch gekromde aanhalingstekens gebruikt worden; in de vorm van karakterreferenties.

Links en referenties

De meeste (online) bronnen beperken zich tot de meest gebruikte karakterreferenties die een naamnotering hebben. Het is echter mogelijk om via de numerieke notering het hele repertoire van de utf-8 karakterset te gebruiken. Zo komt bijvoorbeeld de referentie ɳ overeen met het Arabische karakter alef. Door de Unicode karaktertabellen (PDF) na te gaan, kan gemakkelijk worden bepaald welk getal voor een karakterreferentie moet worden gebruikt.

Beperkingen in de invoer en opslag van karakters

Webontwikkelaars kunnen bij het schrijven van speciale karakters in HTML-documenten tegen de volgende problemen aanlopen.

  • Een karakter dat men wil gebruiken is niet in te voeren via het toetsenbord.
    Toetscombinaties zijn niet toereikend voor het produceren van een bepaald karakter, of de webontwikkelaar kent deze toetscombinaties niet.
  • Het beoogde karakter wordt in de browser of in een ander programma niet correct getoond.
    Vaak is het programma niet in staat om het bestand in een iso-8859-1 of utf-8 karaktercodering te lezen of op te slaan (wat vereist is voor een correcte conversie van een dergelijk karakter)

Vanwege deze softwarematige beperkingen, is het prettig voor webontwikkelaars om voor het produceren van speciale karakters karakterreferenties te gebruiken. Deze leveren niet de genoemde problemen op.

Het ampersand symbool in URLs

Het ampersand symbool (&) wordt gebruikt om een karakterreferentie aan te geven. Om browsers niet in verwarring te brengen wanneer het symbool in een tekst gebruikt wordt (bijvoorbeeld ‘C&A’), moet dit symbool zelf altijd omgezet worden tot een karakterreferentie: &

Regelmatig komen er URL’s voor in de HTML broncode van de pagina waarin ampersands gebruikt worden (voor Query strings). Deze moeten ook worden omgezet naar karakterreferenties.

Tenzij een browser een webpagina interpreteert als XML (XHTML in combinatie met het MIME type application/xhtml+xml. Zie ook Ondersteuning van XHTML en de complicaties), zullen ongecodeerde ampersands in de HTML zelden problemen opleveren.

Webontwikkelaars moeten er echter wel rekening mee houden dat het gebruik van XML gangbaarder wordt, vooral voor de uitwisseling van informatie tussen webservers. Geldige, correct geformuleerde markup voorkomt problemen met deze uitwisselbaarheid.

Server-side scripts, zoals PHP en ASP, produceren vaak URL’s met ampersands die niet zijn omgezet. Dit is te wijzigen in het configuratiebestand voor de scripttaal. Daarnaast zijn er verschillende commando’s voor het omzetten naar correcte URL’s, zoals de urlencode functie in PHP.

Links en referenties


 Webrichtlijnen versie 1.3, november 2007.