HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 654
|
|
Ein häufig auftretender Fehler lautet "Es wurde keine Zeichenkodierung gefunden. Aus diesem Grund wurde XXX verwendet". Dieser Fehler wird gemeldet wenn es nicht möglich ist, eine Angabe zu einer Zeichenkodierung zu finden (z. B. ISO-8859-1, UTF-8, US-ASCII). In diesen Fall wird - abhängig vom Dokumententyp - ein Fallback zu UTF-8 oder US-ASCII durchgeführt. Eine Zeichenkodierung kann mit mehreren Verfahren übergeben werden: 1. Im HTTP-Header (z. B. Content-Type: application/xhtml+xml; charset=utf-8) 2. Im Byte Order Mark Dabei handelt es sich um die ersten 2-3 Byte des Dokumentes anhand deren Aufbaus UTF-8, UTF-16 und UTF-32 Dokumente erkannt werden. 3. In der XML-Deklaration (z. B. <?xml version='1.0' encoding='UTF-8'?>) 4. In einen meta-Element (z.B. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">)
Welcher dieser Angaben zum Verarbeiten des Dokumentes verwendet wird, hängt vom verwendeten Dokumenttyp und der Priorität der Quelle ab: HTML 1. HTTP-Header 2. Byte Order Mark 3. meta-Element 4. Fallback zu US-ASCII
XHTML 1. HTTP-Header 2. Byte Order Mark 3. XML-Deklaration 4. Fallback zu UTF-8
WICHTIG !!! Bei XHTML ist das meta-Element irrelevant. Wenn Sie in XHTML-Dokumenten eine andere Zeichenkodierung als UTF-8/16/32 verwenden möchten, dann können Sie dies nur per HTTP-Header und/oder XML-Deklaration mitteilen. Da der Internet Explorer (zumindest bis zum erscheinen dieses Artikels bestehende Versionen <= IE6) bei der Darstellung von Dokumenten Probleme machen kann wenn eine XML-Deklaration vorhanden ist, muss die Zeichenkodierung im HTTP-Header mitgeteilt werden.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 04.10.2006 14:26:42 |
|