Abbi: Validator meckert über meine Zeichenkodierung

Hallo,

Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.

Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?

Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?

Grüße
Abbi

  1. Hi,

    Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.

    ja. Das ist eine Warnung, weil das oft einfach nur vergessen wird.

    Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?

    Nicht vom Server, sondern vom Standard. Fehlt eine Angabe, gilt UTF-8.

    Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?

    Beim Server ist gar nichts eingestellt, denn andernfalls hätte er ja ein Encoding mitgesendet :-)

    Cheatah

    --
    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. Würdest Du denn sagen, dass ich die Zeichenkodierung im HTML nachtrage? Könnte es Darstellungsprobleme geben, wenn ich sie weglasse?

      1. Hi,

        Würdest Du denn sagen, dass ich die Zeichenkodierung im HTML nachtrage?

        würde ich das sagen? Keine Ahnung, ich habe wenig Kontrolle über das, was Du tust ;-)

        Könnte es Darstellungsprobleme geben, wenn ich sie weglasse?

        Da Du selbst vorgeschlagen hast, UTF-8 einzutragen (es also offenbar benutzt), halte ich dies für unwahrscheinlich. Meiner Meinung nach ist eine Änderung nicht nötig; ich empfehle allenfalls, bei neuen Seiten das Encoding anzugeben. Oder den Server so zu konfigurieren, dass er es mitsendet.

        Cheatah

        --
        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
    2. Cheatah,

      Fehlt eine Angabe, gilt UTF-8.

      Das gilt für XML, also auch für XHTML.

      Für HTML 4.01 gilt:
      „Das HTTP-Protokoll ([RFC2616], Abschnitt 3.7.1) führt ISO-8859-1 als Standardkodierung an, sollte der »charset«-Parameter im »Content-Type«-Header-Feld fehlen. In der Praxis hat sich diese Empfehlung als nutzlos erwiesen, weil manche Server es nicht gestatten, einen »charset«-Parameter zu senden und andere nicht entsprechend konfiguriert sein können, den Parameter zu senden. Deswegen dürfen Benutzerprogramme keinen Standardwert für den »charset«-Parameter annehmen.“ [HTML401 §5.2.2]

      Gunnar

      --
      “I got my finger on the trigger / But I don’t know who to trust” (Bruce Springsteen, Devils and Dust)
      1. Hi,

        Das gilt für XML, also auch für XHTML.
        Für HTML 4.01 gilt:

        hoppla, danke für die Info.

        Cheatah

        --
        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
  2. Hi,

    Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.
    Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?

    Von Deinem Server: nein.
    Diese Header werden gesendet:

    Connection: close
    Date: Sun, 29 May 2005 21:53:55 GMT
    Accept-Ranges: bytes
    ETag: "34284c-1b5b-429a30f8"
    Server: Apache/1.3.31 (Unix)
    Content-Length: 7003
    Content-Type: text/html
    Last-Modified: Sun, 29 May 2005 21:15:36 GMT
    Client-Date: Sun, 29 May 2005 21:54:00 GMT
    Client-Peer: 192.67.198.52:80
    Client-Response-Num: 1
    Link: <default.css>; /="/"; rel="stylesheet"; type="text/css"
    Title: abbiseite.de / Webprõsenz von Andreas Wieland
    X-Meta-Author: Andreas Wieland
    X-Meta-Description: Andreas Wieland alias Abbi hat mit abbiseite.de seit 1998 eine Webprõsenz.
    X-Meta-Keywords: Andreas Wieland, Abbi

    Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?

    Da Dein Server keine Kodierung sendet, kann es keine Widersrpüchlichkeiten geben.

    Angeben mußt Du selbstverständlich die Kodierung, die für das Dokument tatsächlich verwendet wird.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      Diese Header werden gesendet:

      [...]

      Link: <default.css>; /="/"; rel="stylesheet"; type="text/css"
      Title: abbiseite.de / Webprõsenz von Andreas Wieland
      X-Meta-Author: Andreas Wieland
      X-Meta-Description: Andreas Wieland alias Abbi hat mit abbiseite.de seit 1998 eine Webprõsenz.
      X-Meta-Keywords: Andreas Wieland, Abbi

      Perl-Script? ;-)

      Cheatah

      --
      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. Hi,

        Perl-Script? ;-)

        Ja. Warum?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hi,

          Perl-Script? ;-)
          Ja. Warum?

          weil LWP::UserAgent standardmäßig die HTML-Header den HTTP-Headern hinzufügt. Das lässt sich aber abschalten.

          Cheatah

          --
          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. Hi,

            Perl-Script? ;-)
            Ja. Warum?

            weil LWP::UserAgent standardmäßig die HTML-Header den HTTP-Headern hinzufügt. Das lässt sich aber abschalten.

            Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)
            (ich hab nur noch keine simple Methode gefunden, aus dem Page-Info/Header tab die Header rauszukopieren - der Weg über "Save As" ist mir zu umständlich)

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)

              Dafür gibt es doch curl -I <url> bzw. curl --dump - <url>

            2. Hi,

              Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)

              so hat bei mir auch mal ein Script angefangen - welches mittlerweile über Funktionen wie "Ausgabe als Binärdump/nummerierte Textzeilen/...", "n Redirects folgen", "Cookies übernehmen", "JavaScript filtern", "User-Agent wählen", "Referer angeben" und "beliebige Header setzen" verfügt, natürlich mit den Methoden GET, POST, HEAD, TRACE und OPTIONS in HTTP/0.9 bis 1.1, und in der Quellcode-Ansicht selbstverständlich mit passenden Links auf referenzierte Ressourcen ;-)

              Ach, dabei fällt mir ein, ich wollte ja immer noch mal HTTP-Authentication mit einbauen ... *notier* :-)

              Cheatah

              --
              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
  3. Hallo Abbi.

    Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?

    Warum sollte sie das ohne weiteres?

    Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?

    In deinem Fall sollte schon das hier genügen.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 16: Sessions
    Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
  4. Hallo Abbi

    Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?

    Wenn du nur ANSI-Zeichen benutzt und alles andere kodierst, wie auf
    http://www.abbiseite.de/, dann kannst du angeben, was du willst.

    Der Vorteil bestände aber darin, dass du dir dies sparen könntest, wenn du die
    von dir verwendete Zeichenkodierung angibst.

    Auf Wiederlesen
    Detlef

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

      Wenn du nur ANSI-Zeichen benutzt und alles andere kodierst, wie auf
      http://www.abbiseite.de/, dann kannst du angeben, was du willst.

      Nur um Missverständnisse zu vermeiden (nebenan ist ASCII ja offenbar mal wieder ein Buch mit 7½ Siegeln) muss ich hier mal den Nitpicker machen: Gemeint ist natürlich ASCII.

      ASCII benutzt die unteren 7 Bit eines Bytes und ist dort mit ISO-8859-1 (Default für HTTP, wenn nichts anderes angegeben wurde) und UTF-8 (Default für XML, wenn nichts anderes angegeben wurde) deckungsgleich. ANSI ist nicht wirklich ein Zeichensatz, wird aber häufig umgangssprachlich mit dem Zeichensatz (und ein bisschen mehr) von Windows-ähnlichen Systemen, also Windows-1252 und Konsorten gleichgesetzt. Das ist aber eben grade nicht problemlos, da dort auch das obere Bit benutzt wird was mit UTF-8 in Konflikt gerät und die Belegung nicht deckungsgleich mit ISO-8859-1 ist, was zu 'lustigen' Fragezeichenzeichen führen kann, wenn der Browser die Codierung zu Latin-1 errät.

      Flussscholgerung: ASCII benutzen, dann ist es weitgehend egal, was der Browser meint raten zu müssen, oder eine Zeichencodierung (ich mag ja mein ISO-8859-15) aussuchen und diese angeben.

      --
      Henryk Plötz
      Grüße aus Berlin
      ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
      ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~