Nicca: Angabe zum Zeichensatz

Hallo Selfhtml-Forum,
in meinem Dokument habe ich folgende Angaben:

---------------------
<!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="de" xml:lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
[...]
</head>
---------------------

Beim Quelltextcheck mit dem Validierungsservice von selfhtml kommt folgende Meldung:

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.

Die Zeichenkodierung im HTTP-Header (iso-8859-1) weicht von der Zeichenkodierung im Meta-Tag (utf-8) ab.

Meine Frage:
Kann ich daran überhaupt etwas ändern? Auf den HTTP-Header habe ich doch keinen Zugriff? (Webspaceanbieter mit php Unterstützung)

Gruß Nicca

  1. Moin Moin!

    Kann ich daran überhaupt etwas ändern? Auf den HTTP-Header habe ich doch keinen Zugriff? (Webspaceanbieter mit php Unterstützung)

    Das wird Dir im Zweifel Dein Anbieter sagen. Typischerweise bestimmt bei statischen Inhalten die Dateiextension den MIME-Type, den der Webserver sendet. *.html wird als text/html verschickt, *.jpg als image/jpeg, usw. *.xhtml KÖNNTE/SOLLTE als application/xml+html o.ä. verschickt werden, Du solltest also ggf. Deine Datei umbenennen. Gegen den Charset kannst Du nichts machen, das hat Dein Anbieter verbockt.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hallo,

    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.

    Ich wäre sogar der Meinung ganz auf das X zu verzichten. So wie du mit XHTML umgehst ist es nicht besser als HTML. Und du sparst dir viele Müh.

    Meine Frage:
    Kann ich daran überhaupt etwas ändern? Auf den HTTP-Header habe ich doch keinen Zugriff? (Webspaceanbieter mit php Unterstützung)

    Wenn du PHP verwenden kannst wäre die header()-Funktion für dich interessant. Da musst du ganz einfach diese Zeile ganz an den Anfang der Datei schreiben:

    <?php header('content-type: text/html; charset=utf-8'); ?>

    Und außerdem muss die Datei dann die .php-Dateiendung besitzen, aber das sollte ja klar sein ;)

    Gruß;

    1. Hi,

      Ich wäre sogar der Meinung ganz auf das X zu verzichten. So wie du mit XHTML umgehst ist es nicht besser als HTML. Und du sparst dir viele Müh.

      Was genau meinst Du damit, wie ich mit xhtml umgehe? Meinst Du das, weil ich "<?xml version="1.0" encoding="UTF-8" ?>" weggelassen habe?

      Gruß

      1. Hallo,

        Was genau meinst Du damit, wie ich mit xhtml umgehe? Meinst Du das, weil ich "<?xml version="1.0" encoding="UTF-8" ?>" weggelassen habe?

        Nein, ich meine damit, dass XHTML als text/html versendet wird, was meiner Meinung nach sinnlos ist, weil dann alle Vortele die man durch XHTML hat verloren gehen.

        Außerdem müsste man dann verschiedene Dinge soppelt erarbeiten, z.B. Stylesheets und Skripte, weil diese in echtem XHTML anders verarbeitet werden als in HTML (was als text/html versendetes XHTML nun mal ist).

        Gruß;