# UTF-8 Problem



## SuReBuRn (25. Juli 2007)

Folgendes steht in der index.php:


```
<?php echo '<?xml version="1.0" encoding="UTF-8"?> '; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">

<head>
<meta http-equiv="Content-Type" 		content="text/html; charset=UTF-8" />

[...]
```

Nun bekomme ich bei der w3c-Validierung folgenden Fehler:


> Line 5, Column 5: XML Parsing Error: XML declaration allowed only at the start of the document.
> 
> <?xml version="1.0" encoding="UTF-8"?>



Vorher steht natrplich nix im Quelltext.
Ausserdem werden alle HTMLcodes als Fehler angezeigt:



> Line 167, Column > 80: XML Parsing Error: Entity 'raquo' not defined.
> 
> …e="Zur Startseite: www.domain.de">domain.de</a> &raquo; …



Hat jemand ne Idee?


----------



## hela (25. Juli 2007)

Hallo,
Ich zitiere einfach mal Ulrike Häßler: Vorlage für (X)HTML-Dokumente und Doctype

*Entweder ...*

<?xml version="1.0" encoding="utf-8"?>
<!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" xml:lang="en" lang="de">
<head>
    <title>Vorlage für XHTML 1.0 Strict </title>
    <meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>
    <p>... Inhalte ...</p>
</body>
</html>

...
_*Oder (wahrscheinlich die bessere Wahl) ...*_
...

<!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" xml:lang="en" lang="de">
<head>
    <title>Vorlage für XHTML 1.0 Strict </title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>
    <p>... Inhalte ...</p>
</body>
</html>

_*Nur nicht beides setzen: XML-Prolog und <meta>-Tag.
*_


----------



## SuReBuRn (26. Juli 2007)

Vielen Dank schonmal!

Dieser Fehler kommt immernoch:


> Error  Line 5, Column 5: XML Parsing Error: XML declaration allowed only at the start of the document.
> 
> <?xml version="1.0" encoding="UTF-8"?>


Vor dem xml steht aber nix, das Ganze beginnt haltin Zeile 5.


Und wieso ist die 2. Variante denn besser ?


----------



## Gumbo (26. Juli 2007)

Gib die Kodierung einfach im HTTP-Header an, dann bekommst du auch keine Schwierigkeiten mit dem Internet Explorer, der die Dokumenttypdeklaration unbedingt als Erstes braucht.


----------



## hela (27. Juli 2007)

SuReBuRn hat gesagt.:


> Und wieso ist die 2. Variante denn besser ?


Lies bitte selbst: Vorlage für (X)HTML-Dokumente und Doctype


----------



## Gumbo (27. Juli 2007)

Beide enthalten allerdings einen wenn auch nur sehr kleinen Fehler: die Werte für das lang- und xml-äquivalente xml:lang-Attribute sind nicht identisch.


----------

