Manfred Hofschneider: Zeichensatzangabe

Hallo,

ich schreibe eine Website mit folgender Angabe

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>Demo</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Wenn ich nun im Text ein Sonderzeichen, wie etwa einen Accend oder Umlaut habe, so meint der Validator

Benutzte Zeichenkodierung: utf-8
Quelle: Fallback

Schwerer Fehler
Im Dokument befindet sich in Zeile 33 und Spalte 38 ein ungültiges Zeichen.
Dieses Zeichen ist in der verwendeten Zeichensatzkodierung (utf-8) nicht erlaubt.

Aber ich habe doch im Metatag einen Zeichensatz angegeben.
Was mache ich falsch?

Gruss

Manne

  1. Hi

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    probiers mal mit
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

    THX

    --
    ie:} fl:( br:> va:) ls:& fo:# rl:( n4:? ss:) de:] js:| ch:? sh:) mo:? zu:)
    ------------------------------
    lieber ein Pinguin der läuft
    als ein Fenster das hängt
    ------------------------------
    1. Hi

      Das ist natürlich dasselbe...

      Der unterschied zu dem von mir getesteten liegt hier:
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

      Ich denke der springende punkt ist der Unterschied strict/Transitional

      THX

      --
      ie:} fl:( br:> va:) ls:& fo:# rl:( n4:? ss:) de:] js:| ch:? sh:) mo:? zu:)
      ------------------------------
      lieber ein Pinguin der läuft
      als ein Fenster das hängt
      ------------------------------
  2. Hi - ich binns schon wieder
    Habe kurz mit dem Validator etwas gespielt und den http://validator.w3.org/docs/help.html#faq-doctype@title:Hinweis auf einrichtiges Doctype gefunden...

    Rausgekommen ist volgendes:

      
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
          <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">  
      
     <head>  
      <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />  
      <title>Test</title>  
     </head>  
      
     <body>  
      <p>äöü</p>  
     </body>  
      
    </html>  
    
    

    THX

    --
    ie:} fl:( br:> va:) ls:& fo:# rl:( n4:? ss:) de:] js:| ch:? sh:) mo:? zu:)
    ------------------------------
    lieber ein Pinguin der läuft
    als ein Fenster das hängt
    ------------------------------
    1. danke Nimble,

      klappt aber leider nicht,
      hier der Link http://www.laura-cave.com/lc_t/lc_1030_en.html

  3. Hallo Manfred,

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head><title>Demo</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    Das sieht auf der ersten Blick korrekt aus.

    Aber ich habe doch im Metatag einen Zeichensatz angegeben.
    Was mache ich falsch?

    Die Angabe im Meta-tag spielt nur eine Rolle, wenn du dir die Seite lokal auf deinem Rechner ansiehst. Ansonsten gilt die Angabe, die dein Server im header deiner Seite macht. Da steht dann halt drin "content-type=text/html" und "charset=iso-8859-1" je nach Konfiguration des Servers.

    Das ist in deinem Fall aber glaube ich nicht der Grund für die Fehlermeldung des Validators. In XML-Dokumenten so wie XHTML eines ist benötigst du in der ersten Zeile die Angabe <?xml version="1.0" encoding="iso-8859-1"?> wenn du eine andere Version als den Standardwert 1.0 oder einen anderen Zeichensatz als den Standardwert utf-8 willst.

    Da diese Angabe fehlt, nimmt der Validator die Standardwerte version 1.0 und encoding utf-8 an. Deshalb kommt die Fehlermeldung mit der falschen Zeichenkodierung.

    gruss,
    OhneName

    1. Hallo,

      ja, aber wenn ich die Angabe <?xml version="1.0" encoding="iso-8859-1"?> benutze, setzt das den Internet Explorer in den Quirks Mode und zerhaut mit mein externes CSS-Style-Sheet.

      Gibt es noch eine andere Möglichkeit?

      Gruss

      Manne

      1. Hallo Manfred,

        jaja das Sorgenkind IE.

        Was spricht dagegen durchgängig utf-8 als Zeichensatz zu verwenden? Da utf-8 Standard ist, benötigst du die xml-Deklaration nämlich nicht und der Fehler würde verschwinden.

        gruss,
        OhneName

        1. Hallo,

          Was spricht dagegen durchgängig utf-8 als Zeichensatz zu verwenden? Da utf-8 Standard ist, benötigst du die xml-Deklaration nämlich nicht und der Fehler würde verschwinden.

          deswegen:

          Das Dokument ist nicht valides XHTML 1.0 Strict
          Benutzte Zeichenkodierung: utf-8

          Quelle: Fallback

          Hinweise
          Dieses XHTML 1.0-Dokument wurde mit dem MIME-Type text/html ausgeliefert, der jedoch nicht verwendet werden sollte, wenn das Dokument nicht den Richtlinien zur Kompatibilität mit HTML entspricht.
          Es wurde keine Zeichensatzkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet.
          nach oben
          Schwerer Fehler
          Im Dokument befindet sich in Zeile 57 und Spalte 32 ein ungültiges Zeichen.
          Dieses Zeichen ist in der verwendeten Zeichensatzkodierung (utf-8) nicht erlaubt.

          1. Hallo Manfred,

            ja das ist die altbekannte Fehlermeldung. Die kenn ich schon. Ich meinte öffne deine HTML-Datei mit einem guten(!) Editor, ersetze im meta-Tag iso-8859-1 durch utf-8, gehe dann auf als utf-8 abspeichern. Dann sollte der Fehler behoben sein, ganz ohne die lästige xml-Deklaration. Wichtig ist, dass dein Editor dir die Möglichkeit gibt die Datei utf-8 kodiert abzuspeichern, sonst hast du ne richtige Mogelpackung wo außen jetzt zwar utf-8 draufsteht, aber der Inhalt immer noch falsch kodiert ist.

            gruss,
            OhneName

            PS: Wenn dein Editor das nicht kann, empfehl ich dir notepad2!

      2. Hi,

        Gibt es noch eine andere Möglichkeit?

        Ja. Sorge dafür, daß der Webserver die korrekte Encoding-Angabe im content-type-Header mitliefert.

        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.