ivarteq: Euro Zeichen und ISO-8859-1

Hallo Zusammen,

ich habe gerade einiges gelesen zu Zeichensätzen.
Und eine Frage:

1.) ISO-8859-1 enthält kein Euro-Zeichen?
2.) Windows-1252 enhthält ein Euro-Zeichen bei HEX80.

Ich erstelle folgende HTML-Datei im Zeichensatz Windows-1252.

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
</head>
<body>
€ (Hier steht das Eurozeichen mittels [Alt-GR]+e eingefügt.)
</body>
</html>

Und sehe trotz ISO-8859-1 ein tadelloses Eurozeichen:

Ich betrachte das Ergebnis (gesendet durch meinen Linux Apache Server) im IE6 und FF2.0 unter WinXP. Die Seiteninformation und der Zeichenkodierung-Menüpunkt der Browser sagen, der genutzte Zeichensatz ist (wie gewünscht) ISO-8859-1.

Das Überrascht mich, weil es doch eigentlich kein Eurozeichen im Zeichensatz ISO-8859-1 gibt (z.B. http://de.wikipedia.org/wiki/ISO_8859-1#Windows-1252). Und auch nicht an Stelle HEX80, dort sollte eigentlich Steuerzeichen "PAD" sein.

Kann das jemand erklären?

  1. Hallo ivarteq,

    Kann das jemand erklären?

    ich nicht, da Zeichensätze eine Welt für sich sind. Aber was ist mit "&euro;"

    Mit freundlichen Grüßen,
    André

    1. ich nicht, da Zeichensätze eine Welt für sich sind. Aber was ist mit "&euro;"

      Damit ist und war (schon immer) alles klar... oder? Also mir ist noch nichts komisches aufgefallen.

  2. Hello out there!

    1.) ISO-8859-1 enthält kein Euro-Zeichen?

    Nein.

    2.) Windows-1252 enhthält ein Euro-Zeichen bei HEX80.

    ISO 8859-15 enthält auch '€'. Frag mich jetzt nicht, an welcher Stelle. Wozu sich mit sowas abgeben, wenn man mit UTF-8 alles codieren kann?

    Und sehe trotz ISO-8859-1 ein tadelloses Eurozeichen:
    Das Überrascht mich, weil es doch eigentlich kein Eurozeichen im Zeichensatz ISO-8859-1 gibt

    Ich schätze, das ist ein Feature (oder Bug?) von Windows: bei Angabe von ISO 8859-1 wird dennoch Windows-1252 verwendet.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo Gunnar,

      ISO 8859-15 enthält auch '€'. Frag mich jetzt nicht, an welcher Stelle.

      0xA4. ISO 8859-1 enthält an dieser Stelle das Internationale Währungszeichen ¤.

      Schöne Grüße,

      Johannes

      1. hi,

        ISO 8859-1 enthält an dieser Stelle das Internationale Währungszeichen ¤.

        Wie ist denn dafür der aktuelle Wechselkurs?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          ISO 8859-1 enthält an dieser Stelle das Internationale Währungszeichen ¤.

          Wie ist denn dafür der aktuelle Wechselkurs?

          1000¤ entsprechen 17 Stück goldgepreßtem Latinum ;-)

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          O o ostern ...
          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    2. Ich schätze, das ist ein Feature (oder Bug?) von Windows: bei Angabe von ISO 8859-1 wird dennoch Windows-1252 verwendet.

      Wird das irgendwo erwähnt (zum Nachlesen) oder denkst du dir das? (Hört sich aber ziemlich plausibel an.)

      Vielen Dank für den Hinweis.

      1. Hello out there!

        Ich schätze, das ist ein Feature (oder Bug?) von Windows: bei Angabe von ISO 8859-1 wird dennoch Windows-1252 verwendet.

        Wird das irgendwo erwähnt (zum Nachlesen) oder denkst du dir das?

        Das hab ich mir ausgedacht. („Ich schätze ...“)

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Hallo

          Ich schätze, das ist ein Feature (oder Bug?) von Windows: bei Angabe von ISO 8859-1 wird dennoch Windows-1252 verwendet.

          Wird das irgendwo erwähnt (zum Nachlesen) oder denkst du dir das?

          Das hab ich mir ausgedacht. („Ich schätze ...“)

          Sollte eigentlich auch logisch sein. Er hat die Datei mit Windows-1252 codiert, ganz egal, welchen Zeichensatz er im <head> der Datei angibt.

          Tschö, Auge

          --
          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
          (Victor Hugo)
          Veranstaltungsdatenbank Vdb 0.1
          1. Hello out there!

            Sollte eigentlich auch logisch sein.

            Nein.

            Er hat die Datei mit Windows-1252 codiert, ganz egal, welchen Zeichensatz er im <head> der Datei angibt.

            ?? Es geht doch hier darum, wie die Oktetts _de_codiert werden.

            Du kannst in ein Dokument '¤' reinschreiben und das in ISO 8859-1/Windows-1252 codieren; daraus wird der Oktettwert xA4. Wenn du diesen als ISO 8859-15 decodierst, wird daraus '€'.

            Die Frage hier ist, warum aus dem Oktettwert x80 '€' wird, obwohl der UA angewiesen wurde, die Oktetts gemäß ISO 8859-1 zu decodieren; nicht gemäß Windows-1252.

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
            1. Hallo

              Die Frage hier ist, warum aus dem Oktettwert x80 '€' wird, obwohl der UA angewiesen wurde, die Oktetts gemäß ISO 8859-1 zu decodieren; nicht gemäß Windows-1252.

              Vielleicht heißt die Frage ja: Wurde er (der UA) wirklich angewiesen, ISO-8859-1 zu verwenden oder verwendet er doch Windows-1252? Die Metaangabe ist, wie hier oft angemerkt wird, der Angabe, die gegenüber der Header- und der Serverangabe die niedrigste Priorität hat.

              Tschö, Auge

              --
              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
              (Victor Hugo)
              Veranstaltungsdatenbank Vdb 0.1
              1. Hello out there!

                Vielleicht heißt die Frage ja: Wurde er (der UA) wirklich angewiesen, ISO-8859-1 zu verwenden

                Ich dächte, die wurde schon im OP beantwortet.

                oder verwendet er doch Windows-1252?

                Nicht „oder“, sondern „und trotzdem“.

                See ya up the road,
                Gunnar

                --
                „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
                1. Hallo

                  Vielleicht heißt die Frage ja: Wurde er (der UA) wirklich angewiesen, ISO-8859-1 zu verwenden

                  Ich dächte, die wurde schon im OP beantwortet.

                  Er schrieb aber nur über das Metaelement zur Angabe des Zeichensatzes. Deshalb meine Anmerkung zur Relevanz dieser Angabe gegenüber Header- und Serverangaben.

                  Tschö, Auge

                  --
                  Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                  (Victor Hugo)
                  Veranstaltungsdatenbank Vdb 0.1
                  1. Hello out there!

                    Vielleicht heißt die Frage ja: Wurde er (der UA) wirklich angewiesen, ISO-8859-1 zu verwenden

                    Ich dächte, die wurde schon im OP beantwortet.

                    Er schrieb aber nur über das Metaelement zur Angabe des Zeichensatzes.

                    „Die Seiteninformation und der Zeichenkodierung-Menüpunkt der Browser sagen, der genutzte Zeichensatz ist (wie gewünscht) ISO-8859-1“ hatte ich anders gedeutet. ;-)

                    See ya up the road,
                    Gunnar

                    --
                    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
                    1. Hallo

                      Er schrieb aber nur über das Metaelement zur Angabe des Zeichensatzes.

                      „Die Seiteninformation und der Zeichenkodierung-Menüpunkt der Browser sagen, der genutzte Zeichensatz ist (wie gewünscht) ISO-8859-1“ hatte ich anders gedeutet. ;-)

                      Huch... der Satz ist bei mir untergegangen.

                      Sollte Christians Anmerkung zu Windows-1252 als Superset von ISO-8859-1 und deren Anzeige in den Browsern in die richtige Richtung gehen? Klingt zumindest plausibel.

                      Tschö, Auge

                      --
                      Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                      (Victor Hugo)
                      Veranstaltungsdatenbank Vdb 0.1
  3. Hallo,

    Und sehe trotz ISO-8859-1 ein tadelloses Eurozeichen:

    Ich betrachte das Ergebnis (gesendet durch meinen Linux Apache Server) im IE6 und FF2.0 unter WinXP. Die Seiteninformation und der Zeichenkodierung-Menüpunkt der Browser sagen, der genutzte Zeichensatz ist (wie gewünscht) ISO-8859-1.

    Die meisten Browser heutzutage (zumindest IE, Firefox, Opera und Konqueror; mit mehr habe ich nicht getestet) interpretieren ISO-8859-1 als Windows-1252 (da die Kontrollzeichen ab 0x80 sowieso nie wirklich in ISO-8859-1 verwendet wurden, kann man Windows-1252 als Superset von ISO-8859-1 bezeichnen). Sie ziegen jedoch nur ISO-8859-1 an, was man an dieser Stelle klar als falsch bezeichnen kann - entweder sie zeigen ISO-8859-1 an und müssten dann irgend ein komisches Steuerzeichen anzeigen oder sie zeigen Windows-1252 an - nur dann müssten sie das auch kundtun.

    Wenn Du jedoch ein Formular innerhalb der Seite hast, wird's noch lustiger. Firefox und IE kodieren nämlich trotz der Angabe von ISO-8859-1 alles in Windos-1252, d.h. das Eurozeichen wird als 0x80 kodiert. Opera und Konqueror tun dies *nicht*, sie senden ein Fragezeichen oder eine NCR (was beides aber darauf hinausläuft, dass das Zeichen nicht nutzbar ist). Wenn man Windows-1252 angibt, senden alle der vier genannten Browser Windows-1252. Und bei ISO-8859-11 [1] (Superset davon wäre CP874) dreht sich der Spieß um: IE und Firefox senden statt einiger nur in CP874 enthaltenen Zeichen eine NCR (weil das Zeichen eben nicht in ISO-8859-11 enthalten ist), Opera und Konqueror dagegen kodieren das Zeichen gemäß CP874, obwohl lediglich ISO-8859-11 angegeben wurde und das groteskeste daran ist, dass Opera ja eigentlich immer vorbildlich bei POST-Anfragen die verwendete Kodierung im Content-Type-Header mitschickt - und hier trotzdem nur ISO-8859-11 angibt, obwohl eindeutig CP874 verwendet wurde.

    Viele Grüße,
    Christian

    [1] Eine Kodierung für thailändische Zeichen.

    --
    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup