Stefan Muenz: der € kommt bald !

Beitrag lesen

Hallo Frank

Da ich meine Systeme über XML fahre, dachte ich: schön im Attribut @Waehrung eines Tags trägst du einfach "€" ein. Die Iso-Codierung steht bekanntlich auch auf iso8859-1 (Latin 1). Meine Tastatur hat eine Eurotaste, es wird auch Euro angezeigt, wenn ich diese betätige, also habe ich folgendes Konstrukt:

Das stimmt nicht so ganz. Microsoft hat das Eurosymbol auf den Zeichenwert 128 gelegt, um es wegen seiner zu erwartenden Verwendungshaeufigkeit im "unteren Zeichenbereich" zu haben. Aber da die Zeichen zwischen 160 und 255 alle besetzt sind, blieb nur, auf den Bereich zwischen 128 und 159 auszuweichen - und genau der ist in ISO-8859 nicht definiert. Er gehoert zwar zum klassischen Ansi-Zeichensatz, aber eben nicht zur ISO-8859-Familie. Die Browser interpretieren Zeichen mit den Werten 128 bis 159 zwar nach Ansi-Standard, aber ein strenger Parser streikt bei solchen Zeichenwerten, wenn ein 8859-Zeichensatz zur Kodierung angegeben ist.

Deshalb: Unicode-Notation verwenden, also die 8364er-Nummer, oder - in HTML - am besten das Entity €
Wenn du eine eigene DTD verwendest, kannst du dir ja auch dort das Euro-Symbol als Entity definieren:
<!ENTITY euro "&#8364;" -->

viele Gruesse
  Stefan Muenz