Hallo,
XHTML muss man aber mit <?xml version="1.0" encoding="iso-8859-1"?> starten
Muß man nicht. Der XHTML-1.0-Standard sagt:
Da steht wahrlich nicht umsonst »strongly encouraged«.
»An XML declaration is not required in all XML documents; however XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16 and no encoding was determined by a higher-level protocol.«
(http://www.w3.org/TR/xhtml1/#strict)
Der Witz dabei ist, dass nicht garantiert werden kann, dass das darüberliegende Transportprotokoll immer HTTP ist und immer eine entsprechende Kodierungsangabe mitgeliefert wird, da das Dokument in mannigfachen Kontexten angezeigt bzw. verarbeitet werden kann. Das wird vor allem kritisch, wenn man XML-kompatibles XHTML schreiben will (das ist Angesichts der Praxis leider kein Pleonasmus), also an irgendeiner Stelle ein XML-Parser eingesetzt wird, der sich um meta-http-equiv-Kodierungsangaben nicht schert.
Siehe u.a. </archiv/2003/9/57836/#m324698> ff.
Beispielsweise ein XHTML-Dokument mit Kodierungsangabe in der XML-Deklaration als .xhtml über das lokale Dateisystem:
<img src="http://home.t-online.de/home/dj5nu/fanhost/xhtml1.png" border="0" alt="">
Ohne XHTML-Deklaration:
<img src="http://home.t-online.de/home/dj5nu/fanhost/xhtml2.png" border="0" alt="">
Wenn ein Browser trotzdem andere Kodierungen als UTF-8 anwendet bzw. probiert (macht Gecko meines Wissens, zumindest unter Windows), fällt das m.E. in den Bereich automatische Fehlerkorrektur, und auf das Ratespiel würde ich mich nicht verlassen.
Ich würde deswegen darauf verzichten.
Wenn man immer schön dafür sorgt, dass das Dokument auf keinen Fall als XML verarbeitet wird oder wenn man die XML-Deklaration im Falle von application/xhtml+xml-fähigen Browsern einfügt...
M.