Helmut: charset=ISO-8859-2 aktivieren

Hallo,
was muss ich in dem folgenden Code noch tun, damit das Unicode-Zeichen è als c mit einem umgestürzten Zirkumflex darauf angezeigt wird und nicht als e mit einem Gravis?
--------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
<title>Unicode-Zeichen</title>
</head>
<body><p>&#0232;</p></body>
</html>
--------------------------------------
Gruß, Helmut

  1. Hallo,
    was muss ich in dem folgenden Code noch tun, damit das Unicode-Zeichen &#0232; als c mit einem umgestürzten Zirkumflex darauf angezeigt wird und nicht als e mit einem Gravis?

    den richtigen Code für das Zeichen angeben. Die 232 entspricht in Unicode dem Zeichen é, das ist vollkommen korrekt. Das č, das du meinst, hat den Code 269 (NCR &#269; oder &x010D; in HTML).
    Wie kommst du auf 232?

    So long,
     Martin

    --
    Programmierer (m), seltener auch P~in (w):
    Irdische, i.a. humanoide Lebensform, die in einem komplizierten biochemischen Prozess Kaffee, Cola und Pizza in maschinenlesbaren Programmcode umwandelt.
    P~ bilden gelegentlich mit ihresgleichen kleine Gruppen, sogenannte Communities, sind aber ansonsten meist scheue Einzelgänger.
    P~ sind vorwiegend nachtaktiv und ohne technische Hilfsmittel nur eingeschränkt lebensfähig.
    1. Das č, das du meinst, hat den Code 269 (NCR &#269; oder &x010D; in HTML).
      Wie kommst du auf 232?

      So long,
      Martin

      »»

      Hallo Martin,
      ja, mit &#269; kann ich's auch. Wenn's das Forum nicht gäbe, danke! Die 232 habe ich
      http://de.selfhtml.org/inter/zeichenkodierungen.htm#iso8859  (falsch?) entnommen (Schema Latin-2).
      Woher hast Du den richtigen Wert?
      Gruß Helmut

      1. Hi,

        Das č, das du meinst, hat den Code 269 (NCR &#269; oder &x010D; in HTML).
        Wie kommst du auf 232?
        ja, mit &#269; kann ich's auch. Wenn's das Forum nicht gäbe, danke!

        ;-)

        Die 232 habe ich
        http://de.selfhtml.org/inter/zeichenkodierungen.htm#iso8859  (falsch?) entnommen (Schema Latin-2).

        Die Tabelle an sich ist bestimmt richtig. Aber sie ist für HTML eigentlich nicht relevant, weil die numerischen Zeichencodes *immer* die Unicode-Nummer angeben.

        Woher hast Du den richtigen Wert?

        Aus der Unicode-Tabelle - oder in diesem Fall direkt aus der Windows-Zeichentabelle (charmap.exe), die hatte ich schneller zur Hand.

        Ciao,
         Martin

        --
        Lache, und die Welt wird mit dir lachen.
        Schnarche, und du schläfst allein.
        1. Aus der Unicode-Tabelle - oder in diesem Fall direkt aus der Windows-Zeichentabelle (charmap.exe), die hatte ich schneller zur Hand.

          Ciao,
          Martin

          Künftig werde ich immer
          http://de.selfhtml.org/inter/unicode.htm
          und/oder
          charmap.exe
          befragen. Nochmal vielen Dank!
          Apropos charset=ISO-8859-2: Austausch von ...-2 gegen ...-1 ändert nichts.
          Gruß, Helmut

          1. hi,

            Apropos charset=ISO-8859-2: Austausch von ...-2 gegen ...-1 ändert nichts.

            Beachte bitte, dass charset im HTTP-Header festgelegt wird und nicht etwa in der HTML-Datei. Damit muss es lediglich übereinstimmen.

            Hotti

            1. Beachte bitte, dass charset im HTTP-Header festgelegt wird und nicht etwa in der HTML-Datei. Damit muss es lediglich übereinstimmen.

              Hotti

              Hi,
              schau Dir bitte mal mein Anfangsposting an. Ich hab charset unter <head><meta> aufgeführt. Meinst Du mit http-header etwas anderes? Die Unicode-Wertangaben werden offenbar durch charset nicht irritiert.

              Die Tabelle aus <http://de.selfhtml.org/inter/zeichenkodierungen.htm#iso8859@title=Schema Latin-2> hat übrigens für mein tschechisches c zu einem falschen Unicodewert geführt.

              Gruß, Helmut

              1. Hallo,

                Beachte bitte, dass charset im HTTP-Header festgelegt wird und nicht etwa in der HTML-Datei. Damit muss es lediglich übereinstimmen.

                schau Dir bitte mal mein Anfangsposting an. Ich hab charset unter <head><meta> aufgeführt. Meinst Du mit http-header etwas anderes?

                aber ja doch! Das ist ungefähr der gleiche Unterschied wie der zwischen Briefumschlag und Briefkopf: HTTP-Header sind Protokollinformationen, die zusätzlich zu den Nutzdaten zwischen Client und Server ausgetauscht werden, zum Beispiel der Typ der übertragenen Daten und ggf. ihre Codierung.

                Angaben, die schon im HTTP-Header übertragen werden, haben Vorrang vor gleichnamigen Angaben, die "nur" im Dokument stehen. Letztere kommen vor allem dann zur Geltung, wenn das Dokument nicht per HTTP übertragen, sondern beispielsweise direkt von der lokalen Festplatte geladen wird.

                Die Unicode-Wertangaben werden offenbar durch charset nicht irritiert.

                Richtig. Die haben damit auch nichts zu tun.

                Ciao,
                 Martin

                --
                Männer sind ungerecht: Sie sehen immer nur den Baum, den eine Frau mit dem Auto gerammt hat. Aber die vielen Bäume, die sie nicht einmal gestreift hat, sehen sie nicht.
                1. Hi!

                  Angaben, die schon im HTTP-Header übertragen werden, haben Vorrang vor gleichnamigen Angaben, die "nur" im Dokument stehen.

                  Schön wärs, aber so einheitlich ist es dann doch nicht. Bei der charset-Angabe im Content-Type hat die Server-Angabe Vorrang, aber sowohl bei der default scripting language als auch bei der default style sheet language ist es genau umgedreht. Wie es bei den anderen Angaben ist, die noch in http-equiv stehen können (expires, refresh, pragma, content-language, set-cookie, cache-control, ...) fand ich nicht.

                  Lo!

                  1. Schön wärs, aber so einheitlich ist es dann doch nicht. ...
                    Lo!

                    Für einen Gelegenheits-HTML-er wie mich ist es immer wieder überraschend, wie kompliziert sich eine eigentlich einfach vorgestellte Sache erweist. Ich will ein Zeichen von - sagen wir 100000 - anzeigen, also brauche ich eine 6-stellige Dezimalzahl oder in einem anderen Stellenwertsystem mehr oder weniger Stellen - und fertig. So könnte es sein, ist es aber wohl nicht.

                    Ich ziehe vorerst trotzdem den laienhaften Schluss: Schaue nach in <http://de.selfhtml.org/inter/unicode.htm@title=diesen Listen>, setze die Kennung vor den Wert und schaue nach, ob das Gewünschte angezeigt wird.

                    Aber so schlicht ist es dann vielleicht doch nicht.
                    Nächtliche Grüße, Helmut

                    1. Hallo

                      Ich ziehe vorerst trotzdem den laienhaften Schluss: Schaue nach in <http://de.selfhtml.org/inter/unicode.htm@title=diesen Listen>, setze die Kennung vor den Wert und schaue nach, ob das Gewünschte angezeigt wird.

                      Gunnar hat dir ja schon geschrieben, dass es einfacher geht. Benutze nach Möglichkeit das Zeichen selbst statt seiner Referenz. Wenn du zu allem Überfluss UTF-8 anstelle von ISO-Irgendwas benutzt, kannst du so ziemlich jedes Schriftsystem dieses Planeten benutzen, ohne dann noch auf die dazugehörige Kodierung achten zu müssen.

                      Tschö, Auge

                      --
                      Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
                      Terry Pratchett, "Wachen! Wachen!"
                      Veranstaltungsdatenbank Vdb 0.3
                    2. Hi!

                      Für einen Gelegenheits-HTML-er wie mich ist es immer wieder überraschend, wie kompliziert sich eine eigentlich einfach vorgestellte Sache erweist.

                      Nunja. Man kann nicht immer von vornherein eine einfache allumfassende Lösung aufsetzen, wenn einen unter anderem Sachzwänge wie geringe Speicherausstattung, Prozessorleistung und Grafikauflösung in früheren Tagen zur Entscheidung geführt haben, sie auf eine für den eigenen Kulturkreis ausreichende zu beschränken - von der politischen Teilung der Welt mal ganz abgesehen.

                      Das Ergebnis ist nun, dass du viele Zeichensätze hast und die damit einhergehenden Probleme irgendwie gelöst werden müssen. Ein Ansatz war Unicode. Zwischenschritte waren Erweiterungen des Vorhandenen, was sich aufgrund der Platzprobleme (256 Zeichen) nur sprachabhängig gestalten ließ oder ganz andere Lösungen benötigte, wie für die Asiaten mit ihren "viel zu vielen" Zeichen.

                      Unicode ist da schon ein gewaltiger Fortschritt, aber bis er zum alleinigen Standard geworden ist, fließt noch sehr viel Wasser die Flüsse entlang, wenn dieses Ziel überhaupt erreicht wird. Bis dahin jedenfalls müssen wir mit dem Chaos leben. Du kannst dich ihm größtenteils entziehen, wenn du für deine eigenen Anwendungen Unicode und darauf beruhende Transformationen (zum Beispiel UTF-8) verwendest. Allerdings ist die Verarbeitung von Unicode/UTF-8 immer noch nicht in allen Systemen gewährleistet, doch für die meisten praktischen Anwendungen ausreichend (zumindest gibt es meist ausreichende Workaroundmöglichkeiten).

                      Dass man im Hinblick auf Unicode die Nummerischen Zeichenreferenzen in HTML sich auf diesen einen Standard beziehen lässt, ist sehr sinnvoll, kann man doch (wenn man das Prinzip kennt) eindeutig von der Nummer auf das Zeichen schließen, beziehungsweise muss es nur in einer einzigen Liste nachschlagen.

                      Ich will ein Zeichen von - sagen wir 100000 - anzeigen, also brauche ich eine 6-stellige Dezimalzahl oder in einem anderen Stellenwertsystem mehr oder weniger Stellen - und fertig. So könnte es sein, ist es aber wohl nicht.

                      So ist es - in Unicode.

                      Doch es gibt noch weitere Beschränkungen, für die man Umgehungen benötigt. Eine wichtige ist die Anzahl der Tasten auf einer Tastatur. Die individuellen Notwendigkeiten einer Sprache einerseits und die eingeschränkten technischen Möglichkeiten andererseits haben hier auch zu ziemlich unterschiedlichen Lösungen geführt. Ebensowenig wie es sinnvoll ist, die Tastatur auf 11 Tasten zu beschränken (10 Ziffern und Enter), um die Zeichen über ihre Unicode-Position einzugeben, ist es sinnvoll die Zeichen anhand ihrer Unicode-Position in ein Dokument zu schreiben. Das eine ist umständlich zu bedienen, das andere umständlich zu lesen.

                      Lo!

              2. @@Helmut:

                nuqneH

                schau Dir bitte mal mein Anfangsposting an. Ich hab charset unter <head><meta> aufgeführt. Meinst Du mit http-header etwas anderes?

                Ja. In der 'meta'-Angabe heißt es "HTTP-EQUIV". Es ist ein Äquivalent zum HTTP-Header. Im Fall der Angabe der Zeichencodierung hat die Angabe im HTTP-Header Vorrang, wie Der Martin schon sagte.

                Wie du deinem Server beibringst, im HTTP-Header die richtige Zeichencodierung anzugeben, kann du in [HTTP-CHARSET] und [HTACCESS-CHARSET] nachlesen.

                Die Unicode-Wertangaben werden offenbar durch charset nicht irritiert.

                Du meinst die numerischen Zeichenreferenzen? Darin kommen ja auch keine Nicht-ASCII-Zeichen vor, sondern nur '&', '#', Ziffern [0-9] und ';' vor.* Alle diese Zeichen haben sind in ISO 8859-1, ISO 8859-2, UTF-8 und den allermeisten anderen Zeichencodierung identisch codiert.

                Qapla'

                * in hexadezimalen Zeichenreferenzen noch 'x' und [A-Fa-f].

                Überhaupt sollten wennschon NCRs, dann hexadezimale verwendet werden. Das erspart lästige Umrechnerei, denn Unicode-Codepoints werden hexadezimal angegeben.

                --
                Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
      2. @@Helmut:

        nuqneH

        ja, mit &#269; kann ich's auch. Wenn's das Forum nicht gäbe, danke! Die 232 habe ich
        http://de.selfhtml.org/inter/zeichenkodierungen.htm#iso8859  (falsch?) entnommen (Schema Latin-2).

        „Ein wichtiger Punkt ist, dass die Werte von numerischen Zeichenreferenzen (wie &#x20AC; oder &#8364; für das Euro-Zeichen €) als Zeichencode von Unicode-Zeichen interpretiert werden – unabhängig von der Zeichencodierung des Dokuments.“ [ESCAPES]

        In deinem Fall heißt es, dass die numerische Zeichenreferenz &#269; für das Zeichen 'č' steht und &#232; für 'è' – unabhängig von der Zeichencodierung des Dokuments. Wie Der Martin schon sagte.

        „Es ist ein häufiger Fehler, wenn Autoren in Windows-1252-codierten Texten das Euro-Zeichen als &#x80; notieren. Zwar liegt das Euro-Zeichen in der Windows-1252-Codepage auf Position 80 (hexadezimal); aber &#x80; sollte ein Steuerzeichen ergeben, denn das Escape wird aufgelöst zu dem Zeichen auf Position 80 (hexadezimal) im Unicode-Repertoire.“ [ibid.]

        In deinem Fall: Es ist ein Fehler, wenn Autoren in ISO-8859-2-codierten Texten das Zeichen 'č' als &#232; notieren. Zwar liegt das Zeichen 'č' in der ISO-8859-2-Codepage auf Position 232 (dezimal); aber &#232; sollte das Zeichen 'è' ergeben, denn das Escape wird aufgelöst zu dem Zeichen auf Position 232 (dezimal) im Unicode-Repertoire.

        Aber warum verwendest du überhaupt eine Zeichenreferenz anstatt des richitgen Zeichens 'č' im Quelltext?

        „Die Verwendung von Escapes macht den Quelltext schlechter lesbar und schwerer zu pflegen […]“ [ibid.]

        „Es ist fast immer besser, eine Zeichencodierung zu benutzen, die es erlaubt, die Zeichen in ihrer normalen Form zu verwenden, anstatt Zeichen-Entity-Referenzen oder numerische Zeichenreferenzen zu verwenden.“ [ibid.]

        Mit ISO 8859-2 benutzt du eine Zeichencodierung, die es erlaubt, 'č' in seiner normalen Form zu verwenden.

        Noch besser dürfte es allerdings sein, als Zeichencodierung UTF-8 zu verwenden – für Tschechisch ebenso wie für Deutsch.

        Qapla'

        --
        Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
        1. „Ein wichtiger Punkt ist, ...
          In deinem Fall heißt es, ......
          Wie Der Martin schon sagte...
          Es ist ein häufiger Fehler...
          Es ist ein Fehler, wenn ...
          Aber warum verwendest du überhaupt eine Zeichenreferenz...
          Es ist fast immer besser, eine Zeichencodierung zu benutzen,...d
          Mit ISO 8859-2 benutzt du eine Zeichencodierung, die es erlaubt, 'č' ...
          Noch besser dürfte es allerdings sein, als Zeichencodierung UTF-8 ...
          Qapla'

          Danke Qapla',
          in diesem Verhau finde ich mich am besten zurecht, wenn ich bis zu besserer Erkenntnis folgenden Weg zum Einfügen besonderer Zeichen in einen HTML-Code beschreite:

          1. Rufe die Kategorie-Tabelle auf.
          2. Wähle die Kategorie des Zeichens.
          3. Kopiere den "Entity-Code" (Form &#x....;) des Zeichens und füge ihn in den HTML-Code ein.

          Der wysiwyg-Weg würde mir zwar besser gefallen, aber hierzu konnte ich die Ausführungsdetails nicht aus den Antworten herausfiltern.
          Gruß, Helmut

          1. @@Helmut:

            nuqneH

            1. Rufe die Kategorie-Tabelle auf.
            2. Wähle die Kategorie des Zeichens.
            3. Kopiere den "Entity-Code" (Form &#x....;) des Zeichens und füge ihn in den HTML-Code ein.

            Numerische Zeichenreferenzen als „Entities“ zu bezeichnen, ist ein weit verbreiteter Irrtum. Wie ich kürzlich erst schrieb: „Entities sind sowas wie 'auml' und 'quot'; '&auml;' und '&quot;' sind Zeichen-Entity-Referenzen. '&#228;' und '&#x22;' sind keine Entity-Referenzen, sondern numerische Zeichenreferenzen. [ESCAPES])“

            Warum fügst du die Zeichenreferenz in deinen Code ein? Du kannst genauso gut das richtige Zeichen ('č') kopieren und einfügen, wenn du keinen entsprechenden Tastaturtreiber verwendest, um das Zeichen direkt über die Tastatur einzugeben. (Das setzt natürlich voraus, dass dein Editor mit diesen Zeichen richtig umgehen kann.)

            Als Tool kann ich Richard Ishidas UniView empfehlen.

            Qapla'

            PS:

            Qapla'
            Danke Qapla', […]
            Gruß, Helmut

            Gern geschehen, Gruß.

            --
            Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            1. @@Qapla'

              Numerische Zeichenreferenzen als „Entities“ zu bezeichnen, ist ein weit verbreiteter Irrtum.

              Diesen Term hatte ich aus der Tabellen-Spaltenüberschrift übernommen. Wusste nicht, dass er dort falsch benutzt wird.

              Als Tool kann ich Richard Ishidas UniView empfehlen.

              Sehr guter Tipp, danke!

              Warum fügst du die Zeichenreferenz in deinen Code ein? ...
              Das setzt natürlich voraus, dass dein Editor mit diesen Zeichen richtig umgehen kann.

              Genau das scheint das Problem zu sein. Wenn ich das Zeichen aus UniView kopiere und dann per copy&paste in *.html einfügen will, erscheint "?". Ich benutze WinEdt (LaTeX-Editor). Aber auch mit dem Zubehör-Editor von Windows (oder gar word) funktioniert das nicht.
              Kannst Du mir einen Editor nennen, mit dem es geht? Oder ist das mit den genannten per Konfiguration zu machen.

              Gruß, Helmut

              1. Mahlzeit Helmut,

                Kannst Du mir einen Editor nennen, mit dem es geht?

                Das sollte eigentlich mit jedem Editor machbar sein, der UTF-8 unterstützt ... und dann könntest Du auch gleich darauf umsteigen (wie Gunnar ja bereits empfahl).

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
              2. @@Helmut:

                nuqneH

                Genau das scheint das Problem zu sein. Wenn ich das Zeichen aus UniView kopiere und dann per copy&paste in *.html einfügen will, erscheint "?".

                Auf der Webseite oder schon im Editor?

                Ich benutze WinEdt (LaTeX-Editor).

                Kenne ich nicht, kann ich nichts zu sagen.

                Im TextPad müsste man „Skript“ auf „mitteleuropäisch“ setzen, sonst würde 'č' zu 'c'.

                Aber auch mit dem Zubehör-Editor von Windows (oder gar word) funktioniert das nicht.

                Kann ich nicht bestätigen.

                Welche Windows-Version hast du? Hast du keine Ünterstüzung für mitteleuropäische Schriftarten installiert?

                Qapla'

                --
                Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            2. Qapla'

              Hallo Gunnar,
              mir ist gerade klar geworden, das Qapla' (mit dem ich Dich mehrfach angesprochen habe) nicht Dein Alias ist, sondern ein freundlicher Wunsch. Pardon, bitte sieh mir das nach. Kommt nicht wieder vor.
              Gruß, Helmut