Sam: ISO 8859-1 oder 15?

Moin,

Soweit ich das verstanden habe, ist der einzige Unterschied zwischen ISO 8859-1 und 8859-15 das Euro Zeichen im letztgenannten. Bei mir wird das Eurozeichen aber auch angezeigt, wenn ich als Zeichensatz den 1er angebe. Was ist denn nun sinnvoller zu verwenden? Eurozeichen habe ich nämlich einige in meinem Forum.

Gruß, Sam

  1. Soweit ich das verstanden habe, ist der einzige Unterschied zwischen ISO 8859-1 und 8859-15 das Euro Zeichen im letztgenannten.

    Das hast Du falsch verstanden: http://www.google.com/search?q=iso-8859-1+iso-8859-15

    Bei mir wird das Eurozeichen aber auch angezeigt, wenn ich als Zeichensatz den 1er angebe.

    Entweder weil Dein 8859-1 in Wahrheit ein Windows-1252 (€ bei 128 statt 164) ist oder als solches interpretiert wird oder weil die Eurozeichen in Deinem HTML-Code als € geschrieben werden.

    Was ist denn nun sinnvoller zu verwenden? Eurozeichen habe ich nämlich einige in meinem Forum.

    Soweit als möglich HTML-Maskierungen verwenden.

    1. PHP erkennt Eurozeichen bei mir immer nur als Fragezeichen. Obwohl sie richtig übertragen und ausgelesen werden. Und warum sollte der Zeichensatz als windows-1252 erkannt werden, wenn ich 8859-1 in der HTML Datei angebe? Firefox sollte das doch richtig machen, oder?

      Gruß, Sam

      1. Hallo Forum,

        was benutze ich denn jetzt am besten, heul ...

        Für eine deutschsprachige Website ...

        8859-1 oder
        8859-15 oder
        charset=UTF-8 oder
        ?

        Ich bin mit 8859-1 groß geworden.

        ... und will keine "ö"'s mehr als "ö" schreiben

        Grüße Bernd

        1. Ich bin mit 8859-1 groß geworden.

          ... und will keine "ö"'s mehr als "ö" schreiben

          Das musst du doch gar nicht. Noch nicht mal 8859-1.

        2. was benutze ich denn jetzt am besten, heul ...

          Das, was Dein Editor ausspuckt. Wenn Du einen Windows-Editor hast, der keine Zeichenkodierungswahl anbietet, und Du überhaupt keine &bla; eintippen willst, wirst Du zwangsläufig windows-1252 sagen müssen. Legst Du Dir eine Liste mit den -1252-eigenen Zeichen neben die Tastatur und tippst zumindest diese als &bla; ein, kannst Du auch 8859-1 angeben.
          Unterstützt der Editor von Haus aus verschiedene Kodierungen, wird er Dir spätestens beim Speichern verklickern, was akzeptabel ist.

      2. PHP erkennt Eurozeichen bei mir immer nur als Fragezeichen.

        PHP kennt keine Zeichenkodierungen als integriertes Attribute seines String-Typs, htmlentities() nimmt standardmäßig 8859-1 an. Dein Browser schickt Windows-1252 und da in iso-8859-1 auf Position 128 (-1252-€) kein darstellbares Zeichen vorhanden ist, siehst Du statt des € ein Fragezeichen. Würde Dein Browser statt -1252 -15 (€ auf Position 164) schicken, würdest Du das Währungszeichen ¤ (Position 164 in -1) sehen.

        Du musst htmlentities() mit dem dritten Parameter sagen, welche Kodierung Sache ist. Formulardaten sollen Browser in der Kodierung senden, in der das Formular vom Server gekommen ist. Es gibt außerdem die Möglichkeit, mit accept-charset beim Formular zu arbeiten (siehe HTML-Code dieser Forumsseiten). Die Kodierung der Formulardaten lässt sich also leidlich vorhersagen.

        Und warum sollte der Zeichensatz als windows-1252 erkannt werden, wenn ich 8859-1 in der HTML Datei angebe?

        Weil das -1252-Eurozeichen im -1-Gewand eine Pest ist. Schalte die Standardkodierung Deines Browsers mal auf -15 und Du wirst in kurzer Zeit sehen, was ich meine. Und das ist nur die Spitze des Eisbergs, die Seiten, die in -1252 geschrieben wurden, aber überhaupt keine Kodierung angeben.

        Firefox sollte das doch richtig machen, oder?

        Man hat sich für Kompatibilität entschieden, Gnade vor Recht sozusagen.