Christoph Schnauß: wenn der Validatir grummelt ...

hallo Forum,

es gibt Stellen, an denen ich den W3C-Validator immer noch nicht verstehe. Er meldet mir für http://validator.w3.org/check?uri=http%3A%2F%2Fweb4.admin.webjanssen.de%2F durchaus valides HTML, aber er schaltet eine Meldung "The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (windows-1252). I will use the value from the HTTP header (iso-8859-1) for this validation" davor.
Nur gibts so eine Festlegung für "iso-8859-1" auf meinen Seiten nicht, es sei denn, die DTD würde das verlangen.

Was es allerdings gibt, ist ein META-tag in der Form
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
Ich habe das mal vor Jahren für richtig gehalten und schleppe das seitdem mit. Wenn ich das weglasse, kann es (je nach Serverkonfiguration) dazu kommen, daß die deutschen Umlaute nicht mehr korrekt dargestellt werden.

Diese Meldung bekam ich übrigens vor ein paar Wochen noch nicht, sonst hätte ich während des Relaunch meiner Adresse (im Frühjahr) doch heftig überlegt und sicher auch eine Lösung gefunden. Im Moment bin ich einfach nur geringfügig irritiert, was der Validator damit meint und wie ich es korrigieren könnte. Daß er mir trotz der "Grummelei" validen Code bestätigt, ist nur ein geringer Trost ...

Grüße aus Berlin

Christoph S.

  1. Hallo,

    wget -S http://web4.admin.webjanssen.de/
    --02:56:30--  http://web4.admin.webjanssen.de/
               => `index.html'
    Resolving web4.admin.webjanssen.de... done.
    Connecting to web4.admin.webjanssen.de[195.225.208.50]:80... connected.
    HTTP request sent, awaiting response...
     1 HTTP/1.1 200 OK
     2 Date: Tue, 16 Aug 2005 23:58:07 GMT
     3 Server: Apache/2.0.51 (Fedora)
     4 X-Powered-By: PHP/4.3.11
     5 Content-Length: 1949
     6 Connection: close
     7 Content-Type: text/html; charset=ISO-8859-1

    noch fragen?

    gruss

    --
    no strict;
    no warnings;
    Meine Signatur hat Urlaub.
    1. hehe,

      wget -S http://web4.admin.webjanssen.de

      Wie kommst du nur auf die Idee, hier mit wget herumzufummeln? Was es da herunterzuladen gibt, hätte ich hier im Forum schließlich auf Nachfrage auch im Quelltext geliefert, grrrrrrrrmpf.

      --02:56:30--  http://web4.admin.webjanssen.de/
                 => `index.html'

      Nu sag bloß, daß du so eine "index.html" geliefert bekommen hast. Die gibts nämlich nicht ;-p

      noch fragen?

      Ja, siehe Originalposting (OP)

      Grüße aus Berlin

      Christoph S.

      1. Hallo,

        Wie kommst du nur auf die Idee, hier mit wget herumzufummeln? Was es da herunterzuladen gibt, hätte ich hier im Forum schließlich auf Nachfrage auch im Quelltext geliefert, grrrrrrrrmpf.

        äh?! weil da stand "The character encoding specified in the HTTP header (iso-8859-1) is different from"

        HTTP header?!

        --02:56:30--  http://web4.admin.webjanssen.de/
                   => `index.html'

        Nu sag bloß, daß du so eine "index.html" geliefert bekommen hast. Die gibts nämlich nicht ;-p

        man wget, das ist die datei in die es gespeichert wird, ich war zu faul den switch für nicht speichern rauszusuchen.

        Ja, siehe Originalposting (OP)

        und die wäre?

        gruss

        --
        no strict;
        no warnings;
        Meine Signatur hat Urlaub.
        1. hallo Eternius,

          man wget

          Ich gebe zu, daß ich meinen eigenen Kram noch nie über wget "zurückzuholen" versucht habe, das wäre halt auch ziemlicher Blödsinn.

          Ja, siehe Originalposting (OP)
            und die wäre?

          Nachlesen *SCNR*

          Grüße aus Berlin

          Christoph S.

          1. hallo Eternius,

            man wget

            Ich gebe zu, daß ich meinen eigenen Kram noch nie über wget "zurückzuholen" versucht habe, das wäre halt auch ziemlicher Blödsinn.

            das war eigentlich auch nur dazu gedacht dir die HTTP header zu zeigen.

            Nachlesen *SCNR*

            ich?

            gruss

            --
            no strict;
            no warnings;
            Meine Signatur hat Urlaub.
  2. Hallo Christoph

    Er meldet mir für http://validator.w3.org/check?uri=http%3A%2F%2Fweb4.admin.webjanssen.de%2F durchaus valides HTML, aber er schaltet eine Meldung "The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (windows-1252). I will use the value from the HTTP header (iso-8859-1) for this validation" davor.

    Das sagt mir nicht nur der Validator sondern auch mein Browser, wenn ich ihn
    danach frage.

    Was es allerdings gibt, ist ein META-tag in der Form
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

    Und liefert der Server die auch in windows-1252 aus (und sowohl Vali, als
    auch mein Browser irren sich), oder liefert der iso-8859-1?

    Ich habe das mal vor Jahren für richtig gehalten und schleppe das seitdem mit. Wenn ich das weglasse, kann es (je nach Serverkonfiguration) dazu kommen, daß die deutschen Umlaute nicht mehr korrekt dargestellt werden.

    Es ist richtig und wichtig, für den Fall, dass der Server keine Angaben im
    HTTP-Header macht oder die Seiten lokal aufgerufen werden.
    Aber, es sollte schon übereinstimmen, die von dir verwendete, die im
    Meta-Tag und die vom Server im HTTP-Header Zeichenkodierung.

    Diese Meldung bekam ich übrigens vor ein paar Wochen noch nicht, ...

    Dann finde ich es toll, dass er darauf jetzt auch achtet, der Selfhtml-Validator
    übrigens auch.

    ... sonst hätte ich während des Relaunch meiner Adresse (im Frühjahr) doch heftig überlegt und sicher auch eine Lösung gefunden.

    Ja, das ist ärgerlich.

    Im Moment bin ich einfach nur geringfügig irritiert, was der Validator damit meint und wie ich es korrigieren könnte.

    Er meint ganz einfach, dass das, was du im Meta-Tag angegeben hast, nicht
    mit dem übereinstimmt, was der Server sagt. Die Browser richten sich
    üblicherweise nach dem, was der Server sagt.

    Ändere die betreffende Zeile doch einfach in:
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    und alle sind glücklich.

    Wenn du die Seite sowieso mit PHP zusammenbastelst, sollte das doch nicht
    viel Mühe machen.
    Und selbst bei statischen Seiten wäre das mit dateiübergreifendem Ersetzen
    schnell erledigt.

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
    1. hallo Detlef,

      Er meldet mir für http://validator.w3.org/check?uri=http%3A%2F%2Fweb4.admin.webjanssen.de%2F durchaus valides HTML, aber er schaltet eine Meldung "The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (windows-1252). I will use the value from the HTTP header (iso-8859-1) for this validation" davor.
      Das sagt mir nicht nur der Validator sondern auch mein Browser, wenn ich ihn
      danach frage.

      Ups. Da hast du recht. Ich bin noch nie auf die Idee gekommen, daß ich ja auch einen vernünftigen Browser um solche Angaben bitten könnte.

      für den Fall, dass der Server keine Angaben im
      HTTP-Header macht

      Jau, da hast du es getroffen. Die angegebene Adresse http://web4.webjanssen.de (ist im Moment grade wieder down) ist eine "temporäre" Adresse für einen neuen Server, auf den http://www.christoph-schnauss.de umziehen soll (neuer Apache, aktuelles Perl, aktuelles PHP usw.), und da ist zum Beispiel die Apache-Einstellung (insbesondere AddDefaultCharset ISO-8859-1) noch nicht ganz korrekt und es gibt mit dem Web-Admin noch einige Debatten - z.B. steht in der php.ini auf meinem "alten" Server register_globals auf "on", aber auf dem neuen endlich auf "off" usw. Es wird ein Apache 2.0.x sein, und PHP 5, und Perl 5.8.7 ...

      Aber, es sollte schon übereinstimmen, die von dir verwendete, die im
      Meta-Tag und die vom Server im HTTP-Header Zeichenkodierung.

      Ja, nur hab ich einfach die Stelle nicht gefunden, an der ich so eine Übereinstimmuung herstellen müßte. Wie angegeben, ist es halt immer noch valides HTML, aber natürlich stört so eine "Grummelei", das will man ja nicht haben. Und mich irritiert eigentlich mehr, daß der Validator zwar etwas anmeckert, aber trotzdem Validität meldet - ähm, klar, der Zeichensatz hat nix damit zu tun, wie ich meine HTML-Elemente behandle, das sind zwei verschiedene Themen. Man kann durchaus valides HTML schreiben, ohne auf das Bedürfnis russischer Besucher Rücksicht nehmen zu müssen, daß sie natürlich gerne kyrillische Schrift sehen möchten.

      Diese Meldung bekam ich übrigens vor ein paar Wochen noch nicht, ...
      Dann finde ich es toll, dass er darauf jetzt auch achtet, der Selfhtml-Validator übrigens auch.

      Öhm ... _das_ ist jetzt natürlich ein heimtückischer Angriff in meinem Rücken ;-) Ich kenne selbstverständlich den SELFHTML-Validator. Ich benutze ihn bloß weit seltener als den W3C-Validator. Aber ich verspreche Besserung.

      Ändere die betreffende Zeile doch einfach in:
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      und alle sind glücklich.

      Nö. Das führt bei dem Apache, der die angegebene Seite im Moment hostet, dazu, daß die deutschsprachigen Umlaute nicht dargestellt werden  -  es sei denn, ich lege in _jedes_ Verzeichnis/Unterverzeichnis eine .htaccess, die da nun wieder gegensteuert. Und ehrlich gesagt bin ich dafür zu faul.

      Wenn du die Seite sowieso mit PHP zusammenbastelst, sollte das doch nicht
      viel Mühe machen.

      Ich kriege das schon hin, aber ich fand, daß mir da was passiert ist, was hier im Forum mal einer Erörterung wert ist ;-)

      Grüße aus Berlin

      Christoph S.

      1. Ändere die betreffende Zeile doch einfach in:
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
        und alle sind glücklich.

        Nö. Das führt bei dem Apache, der die angegebene Seite im Moment hostet, dazu, daß die deutschsprachigen Umlaute nicht dargestellt werden

        Christoph,
        Verstehe ich nicht. windows-1252 unterscheidet sich von ISO 8859-1 nur im Bereich x80 bis x9F; die Umlaute liegen nicht dort drin.

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
  3. Hi,

    es gibt Stellen, an denen ich den W3C-Validator immer noch nicht verstehe.

    hm. Aufgrund Deines Subjects würde ich sagen:

    (PROJEKTVERWALTUNG) wenn der Validatir grummelt ...

    ^
    Typischer I/O-Error.

    Cheatah, SCNR

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. hallo Cheatah,
                                    ^

      Typischer I/O-Error.

      Naja, ich habe eben heute morgen I/O-Fehlern Tir und Tor geöffnet.

      Grüße aus Berlin

      Christoph S.

    2. Hallo Cheatah

      ... wenn der Validatir grummelt ...

      Heißt das nicht, ... wenn das Validatier grummelt ...?
      Vielleicht ist es ja wirklich ein Valigator.

      Auf Wiederlesen
      Detlef

      --
      - Wissen ist gut
      - Können ist besser
      - aber das Beste und Interessanteste ist der Weg dahin!