Speciale karakters |
|
Handleiding HTML |
Inhoud Trefwoordenregister |
|
In dit onderdeel komen aan de orde Introductie, Karakterreferenties, Overzicht karakters, Euro en Meta-informatie. |
IntroductieBij 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:
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. |
KarakterreferentiesZoals 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 © en é. 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 © en é. |
Overzicht karaktersIn 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:
Alle posities worden ondersteund door alle versies van Microsoft Internet Explorer, Netscape Navigator en Opera. |
||||||||||||||||||||||||||||||||||||||||||||||||
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:
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. |
||||||||||||||||||||||||||||||||||||||||||||||||
code-positie 192-255 |
Deze posities bevatten vooral hoofd- en kleine letters met diverse accenten. Enkele voorbeelden:
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. |
||||||||||||||||||||||||||||||||||||||||||||||||
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
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 '€' 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: |
Meta-informatieBij 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:
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. |
Laatste wijziging 3 februari 2002 |