Speciale karakters

Handleiding HTML
Inhoud   Trefwoordenregister


In dit onderdeel komen aan de orde Introductie, Karakterreferenties, Overzicht karakters, Euro en Meta-informatie.


Introductie

Bij het maken een HTML-document mag je niet zomaar alle karakters opnemen, die je met allerlei toetscombinaties in bijvoorbeeld je tekstverwerker wel kunt gebruiken. Enerzijds omdat niet elk systeem (DOS/Windows, Macintosh, Linux) deze karakters op dezelfde wijze interpreteert, anderzijds omdat sommige karakters in HTML een speciale betekenis hebben. In principe kun je alle letters, cijfers en tekens die je op een standaard toetsenbord vindt gewoon gebruiken. Een uitzondering vormen de karakters ", &, < en >. In plaats van deze vier karakters en voor alle overige karakters (zoals Griekse letters, mathematische operatoren en allerlei symbolen) moet je speciale code gebruiken. Deze speciale code noemen we karakterreferenties.

Om het gebruik van de speciale code te illustreren is een voorbeeld opgenomen, waarbij in de browser (zoals in deze handleiding nogal eens het geval is) HTML-code moet worden weergegeven.

Als je in de browser wilt zien:

<IMG SRC="dsdelft.gif" WIDTH="82" HEIGHT="82" ALT="Logo Digitale Stad Delft">

dan moet je in het HTML-document het volgende opnemen:

&lt;IMG SRC=&quot;dsdelft.gif&quot; WIDTH=&quot;82&quot; HEIGHT=&quot;82&quot; ALT=&quot;Logo Digitale Stad Delft&quot;&gt;

Hierna wordt eerst het begrip karakterreferenties besproken. Vervolgens wordt een overzicht gegeven van de karakterreferenties voor een groot aantal karakters en wordt ingegaan op de ondersteuning door browsers. Speciale aandacht krijgt daarna de euro. Tenslotte wordt ingegaan op karakter encodering en het gebruik van meta-informatie.


Karakterreferenties

Zoals hiervoor aangegeven mag je alleen de meeste letters, cijfers en tekens die je op een standaard toetsenbord vindt, gewoon in een HTML-document opnemen. Voor karakters die je niet zomaar mag opnemen, moet je speciale code gebruiken: de zogenaamde karakterreferenties. Deze zijn er in twee vormen: numerieke karakterreferenties en karakter entiteitsreferenties.

Een numerieke karakterreferentie wordt als volgt weergegeven: &#nummer;. In plaats van "nummer" wordt de zogenaamde code positie van het betreffende karakter gebruikt. Code posities zijn numerieke codes, welke voor elk karakter uit een serie karakters (het karakterrepertoire) in een document karakterset zijn vastgelegd. In de meeste voor West Europese talen gebruikte karaktersets heeft bijvoorbeeld het copyrightteken (©) de code positie 169 en de kleine letter e accent acute (é) de code positie 233. De numerieke karakterreferentie voor deze karakters zijn dus respectievelijk &#169; en &#233;.

Omdat de code posities en daarmee de numerieke karakterreferenties niet zo eenvoudig te onthouden zijn, biedt HTML als alternatief de karakter entiteitsreferenties. Deze karakter entiteitsreferenties gebruiken een symbolische naam voor een karakter. Ze worden als volgt weergegeven: &entiteitsnaam;. Voor het copyrightteken en de kleine letter e accent acute zijn de karakter entiteitsreferenties respectievelijk &copy; en &eacute;.


Overzicht karakters

In HTML 2 is de standaard ISO 8859-1 als document karakterset gedefinieerd. ISO 8859-1 (ook wel Latin-1 genoemd) bevat 256 code-posities (0-255), waarvan 191 posities een zichtbaar karakter betreffen. Bij de overige 65 karakters (de posities 0-31 en 127-159) gaat het om controle tekens, welke een bepaalde actie tot gevolg hebben (bijvoorbeeld een horizontale tab) en in HTML geen betekenis hebben. De eerste 128 posities van ISO 8859-1 (0-127) komen overeen met het bekende ASCI karakterset.

In HTML 4 wordt gebruik gemaakt van het Universele Karakterset (Universal Character Set; UCS), welke gedefinieerd wordt in de internationale standaard ISO 10646. Het Universele Karakterset bevat duizenden karakters, die gebruikt worden in talen over de hele wereld. De code-posities 0-255 komen overeen met die van ISO 8859-1. In plaats van het UCS wordt ook vaak gesproken over Unicode. Dit is feitelijk een aparte standaard, maar wel geheel identiek aan UCS.

In het volgende overzicht worden voor de verschillende groepen code-posities uit de ISO 8859-1 en Unicode karaktersets enkele voorbeelden gegeven van de numerieke karakterreferenties en de karakter entiteitsreferenties en is tevens de ondersteuning door browsers vermeld. In aparte documenten is per groep een volledig overzicht opgenomen.

code-positie 000-031
Deze posities hebben geen betekenis in HTML.
code-positie 032-126
Deze posities bevatten hoofdletters, kleine letters en algemene tekens, die op een standaard toetsenbord te vinden zijn. De meeste hoeven niet gecodeerd te worden en kennen ook geen karakter entiteitsreferenties. Een uitzondering vormen een viertal tekens, die een bijzondere betekenis hebben in HTML en daarom niet ongecodeerd weergegeven mogen worden:

" dubbel aanhalingsteken &#34; &quot;
& ampersand &#38; &amp;
< kleiner dan &#60; &lt;
> groter dan &#62; &gt;

Alle posities worden ondersteund door alle versies van Microsoft Internet Explorer, Netscape Navigator en Opera.

Een compleet overzicht is opgenomen in een aparte tabel.

code-positie 127-159
Deze posities hebben geen betekenis in HTML.
code-positie 160-191
Deze posities bevatten speciale symbolen, die alleen gecodeerd weergegeven mogen worden. Enkele voorbeelden:

  niet afbrekende spatie &#160; &nbsp;
© copyrightteken &#169; &copy;
° graadteken &#176; &deg;
² 2 in superscript &#178; &sup2;
³ 3 in superscript &#179; &sup3;
¹ 1 in superscript &#185; &sup1;
¼ een kwart &#188; &frac14;
½ een half &#189; &frac12;
¾ drie kwart &#190; &frac34;

De numerieke karakterreferenties worden allemaal ondersteund door alle versies van Microsoft Internet Explorer, Netscape Navigator en Opera. De karakter entiteitsreferenties worden in Microsoft Internet Explorer en Netscape Navigator in de meeste gevallen pas ondersteund vanaf versie 3.

Een compleet overzicht is opgenomen in een aparte tabel.

code-positie 192-255
Deze posities bevatten vooral hoofd- en kleine letters met diverse accenten. Enkele voorbeelden:

à a accent grave &#224; &agrave;
á a accent acute &#225; &aacute;
è e accent grave &#232; &egrave;
é e accent acute &#233; &eacute;
ê e accent circumflex &#234; &ecirc;
ë e met umlaut &#235; &euml;
ï i met umlaut &#239; &iuml;
ó o accent acute &#243; &oacute;
ö o met umlaut &#246; &ouml;
ü u met umlaut &#252; &uuml;
× teken voor vermenigvuldigen &#215; &times;
÷ teken voor delen &#247; &divide;

De numerieke karakterreferenties worden allemaal ondersteund door alle versies van Microsoft Internet Explorer, Netscape Navigator en Opera. Hetzelfde geldt voor de karakter entiteitsreferenties, met uitzondering van de tekens voor vermenigvuldigen en delen, die in Microsoft Internet Explorer en Netscape Navigator pas ondersteund worden vanaf versie 3.

Een compleet overzicht is opgenomen in een aparte tabel.

overige code-posities
De code posities boven 255 zijn in HTML 4 onderverdeeld in de volgende groepen:
De ondersteuning door browsers is nogal wisselend en beperkt zich zeker bij Netscape Navigator en Opera vooral tot de laatste versie. Of een bepaald karakter kan worden weergegeven hangt er daarnaast vanaf of de versie van het door de bezoeker gebruikte lettertype het karakter bevat. De ondersteuning voor de afzonderlijke code posities is in het overzicht van de hiervoor genoemde groepen opgenomen.


Euro

eurotekenMet de invoering van de euro is er vanzelfsprekend ook de wens het euroteken te kunnen gebruiken in HTML-documenten. In het UCS/Unicode karakterset zijn daarvoor de numerieke karakterreferentie &#8364; en de karakter entiteitsreferentie &euro; opgenomen. Het gebruik van deze code kent echter een aantal problemen. Allereerst moeten de lettertypen op het systeem van de bezoeker het euroteken bevatten. Dat is zeker bij oudere systemen, zoals Windows 95, nog niet het geval. De bezoeker kan daarvoor een update downloaden, maar als website-auteur heb je daar uiteraard geen invloed op. Daarnaast is het zo dat ook oudere browsers de code voor het euroteken niet ondersteunen. Welke (Windows) browsers dat wel doen, kun je in het volgende overzicht zien:

&#8364;   Microsoft Internet Explorer vanaf versie 4.0
Netscape Navigator vanaf versie 4.0
Opera vanaf versie 4.0
&euro;   Microsoft Internet Explorer vanaf versie 4.0
Netscape Navigator vanaf versie 4.0
Opera vanaf versie 3.6

Browsers die de code voor de numerieke karakterreferentie voor het euroteken niet ondersteunen, geven deze op verschillende manieren weer: in oudere versies van Netscape Navigator zie je een vraagteken, terwijl oudere versies van Microsoft Internet Explorer en Opera het 'niet teken' (codepositie 172: ¬) laten zien. Browsers die de code voor de karakter entiteitsreferentie niet ondersteunen geven in plaats hiervan voluit '&euro;' weer.

Wanneer je wilt dat de weergave in alle browsers zoveel mogelijk hetzelfde is, dan kun je ervoor kiezen de officiële afkorting EUR te gebruiken. Als alternatief kun je ook een kleine afbeelding met het euroteken opnemen: euro. Denk er daarbij aan het attribuut ALT="euro" aan het IMG element toe te voegen. Dan kan ook een bezoeker met een browser die geen afbeeldingen weergeeft, zien waar het om gaat.


Meta-informatie

Bij de beschrijving van karakterreferenties is aangegeven dat voor elk karakter in een karakterset een numerieke code (de code positie) is vastgelegd. Om een HTML-document met de erin opgenomen karakters te kunnen opslaan in een bestand of te kunnen verzenden over internet, moeten de numerieke codes omgezet worden in bytes. De wijze waarop dat gebeurt, wordt bepaald door de gebruikte karakter encodering.

Om een HTML-document te kunnen weergeven, moet de browser weten welke karakter encodering van toepassing is. Soms sturen webservers deze informatie mee met het document. Omdat dit niet altijd het geval is, kun je ook zelf in de vorm van meta-informatie in de head van het document de karakter encodering opgeven. Je doet dat met behulp van het META element met de attributen HTTP-EQUIV en CONTENT:

<META HTTP-EQUIV="content-type"
CONTENT="text/html; charset=ISO-8859-1">

De in dit voorbeeld gebruikte waarde van het CONTENT attribuut geeft aan dat de gebruikte karakter encodering ISO-8859-1 is. Deze is vrij algemeen van toepassing voor West Europese talen. Indien je gebruik maakt van andere talen kun je een andere karakter encodering specificeren. Voor Grieks neem je bijvoorbeeld ISO-8859-7 en voor Turks ISO-8859-9.


  Inhoud Handleiding HTML   Trefwoordenregister   Inhoud Speciale karakters

Laatste wijziging 3 februari 2002
Copyright © 1995-2002 Hans de Jong