Latin 9, Unicode & der Euro im WWW

von Peter Marksteiner(Ausgabe 02/2, Oktober 2002

 

Wahrscheinlich sind Ihnen schon öfters Webseiten mit Preisangaben wie 99 oder 100 ? untergekommen. In beiden Fällen handelt es sich um mißglückte Euro-Symbole. Nachfolgend werden einige Methoden beschrieben, Euro-Preisangaben so in HTML-Dokumente einzubauen, daß sie von möglichst vielen Browsern richtig dargestellt werden.

Methode 1: EUR

Die sicherste Methode ist immer noch, anstelle des Euro-Symbols die offizielle internationale Abkürzung EUR zu verwenden (siehe dazu die Webseite der EU).

Methode 2: Der Euro als Grafik

Auch das funktioniert immer. Vergessen Sie aber nicht auf den passenden Alternativtext, damit der Euro auch von nicht grafikfähigen Geräten (wie Text-Browsern oder Sprach-Synthesizern für Sehbehinderte) richtig wiedergegeben wird: <img src="euro.gif" alt="EUR" />. Bei dieser Methode sind die einzigen Probleme ästhetischer Natur: Das Erscheinungsbild der Webseite ist mitunter nicht perfekt, wenn Größe und Zeichensatz der Euro-Grafik nicht ganz zum umliegenden Text passen.

Methode 3: &euro;

Der HTML-Standard definiert eine lange Liste von Character Entities, also von Sonderzeichen, die in HTML-Dokumenten als &name; geschrieben werden - z.B. ä für ä oder ê für ê. Der Euro wurde erst mit HTML Version 4.0 (veröffentlicht am 18. Dezember 1997) alsin die Liste aufgenommen. Ältere Browser unterstützen mitunter diesen Standard nicht vollständig und können daher das Euro-Symbol nicht richtig darstellen.

Methode 4: Zeichen 164 in ISO-8859-15 (Latin 9)

Im Comment 95/3 wurden im Artikel Was ist eine Codepage? die verschiedenen ISO-8859-Zeichensätze vorgestellt, speziell der als ISO Latin 1 oder Western ISO bekannte Zeichensatz ISO-8859-1. Dieser Zeichensatz enthält verschiedene nationale Sonderzeichen wie deutsche Umlaute, Vokale mit Akzenten und andere. Ein Byte (= 8 Bit) entspricht einem Zeichen, sodaß insgesamt 28 = 256 verschiedene Zeichen zur Verfügung stehen. Diese Zeichen sind von 0 bis 255 durchnumeriert; Zeichen Nr. 164 ist z.B. das merkwürdige Symbol , das als Währungssymbol (Generic Currency Symbol) definiert ist.

Dieser Standard ist nunmehr obsolet: Am 15.  März 1999 wurde der neue Standard ISO-8859-15 verabschiedet, der rätselhafterweise unter dem Namen ISO Latin 9 bekannt ist. Er unterscheidet sich von ISO Latin 1 nur durch acht Zeichen: Beispielsweise wurden Trema (¨) und Cedille (¸) durch š und ž ersetzt, sodaß nun z.B. ein Name wie Potužak mit diesem Zeichensatz korrekt geschrieben werden kann. Nachdem anscheinend niemand das Währungssymbol braucht, wurde es durch das Euro-Symbol € ersetzt.

Damit ein Euro-Symbol auf diese Weise in ein HTML-Dokument eingebaut und richtig wiedergegeben werden kann, müssen folgende Voraussetzungen erfüllt sein:

  • Eine Möglichkeit, dieses Zeichen über die Tastatur einzugeben (z.B. mit einer entsprechend belegten Euro-Taste oder einer Tastenkombination wie <Alt Gr>-E),
  • die korrekte Definition des Zeichensatzes im HTML-Dokument, meistens mittels entsprechendem <meta>-Tag im Header
    (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">),
  • ein moderner Browser, der den ISO Latin 9-Zeichensatz unterstützt.

In der Windows-Welt wird häufig ein eigener Zeichensatz namens Windows 1252 verwendet, der sich zwar geringfügig, aber doch von ISO Latin 9 unterscheidet. In diesem Zeichensatz hat das Euro-Symbol die Nummer 128. Generell wird empfohlen, in Webseiten den ISO- anstelle des Windows-Zeichensatzes zu verwenden, da letzterer von anderen als Windows-Rechnern oft nicht unterstützt wird.

Methode 5: &#8364;

Für viele europäische Sprachen sind die diversen ISO-8859-Zeichensätze adäquat, aber bei weitem nicht optimal. Ein Problem ist vor allem, daß sie einander ausschließen - obwohl z.B. auch in französischen Texten türkische Eigennamen vorkommen können. Für außereuropäische Sprachen sind die bisherigen Ansätze der Kodierung vollkommen unzureichend, sodaß seit einigen Jahren ein völlig neues System namens Unicode entwickelt wird. Unicode unterstützt neben (fast) allen Sprachen der Welt auch mathematische Symbole, Musiknoten und viele andere Sonderzeichen. Das Grundprinzip von Unicode ist unter http://www.unicode.org/unicode/standard/WhatIsUnicode.html nachzulesen: Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. Die "eindeutige Nummer" für das Euro-Symbol ist 8364, die Schreibweise daher.

Bei älteren Browsern ohne Unicode-Unterstützung funktioniert diese Methode nicht. Es ist jedoch zu erwarten, daß sich Unicode als internationaler Standard (der auch als ISO-Standard 10646 definiert wurde) weltweit mehr und mehr durchsetzt und bald von praktisch allen Softwareprodukten unterstützt wird.