Mozilla Erkennungvon UTF-8
Christian S
- php
Hallo,
ich habe folgendes Problem.
Ich bin gerade dabei für QuarkXpress eine XML einspeisung zu programmieren als PHP frontend.
Auf jeden Fall muss will ich dafür UTF-8 verwenden.
Ich schreibe auch im Head der PHP Datei, dass ich UFT-8 verwenden will.
Allerdings scheint das Mozilla nicht zu interessieren und er interpretiert es automatisch immer als IS0-8859-2
Dadurch entstehen hässliche Zeichen, vor meinem Text.
Wenn ich die Ansicht manuell umstelle auf UTF-8 wird alles korrekt angezeigt.
Meine Frage ist. Wie kann ich Mozilla dazu zwingen die Datei als UTF-8 zu interpretieren?
Hier ist mein Code
<?php
echo "<?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 lang="de" xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<meta http-equiv="content-type" content="text/xhtml; charset=utf-8">
</head>
<body>
<?php
mb_internal_encoding("UTF-8");
echo mb_internal_encoding();
mb_http_input ();
echo mb_http_input ();?>
<form action="chng.php?ID=<?php echo $ID ?>" method="post">
<textarea name="chng_txt" cols="40" rows="30"><?php
$dom = new DomDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$dom->load("obst.xml");
$all_elements = $dom->getElementsByTagName("*");
foreach ($all_elements as $entry) {
if ($entry->hasAttributes())
{
foreach ($entry->attributes as $attribute)
{
$id = $entry->getAttribute('id');
if ($id == $ID)
{echo $entry->textContent;
}
}
}
}
?>
</textarea ><br/>
<input type="submit" name="Absenden" value="Absenden" />
</form>
</body>
</html>
echo $begrüßung;
Ich schreibe auch im Head der PHP Datei, dass ich UFT-8 verwenden will.
Du meinst die Meta-Angabe im HTML-Header?
Allerdings scheint das Mozilla nicht zu interessieren und er interpretiert es automatisch immer als IS0-8859-2
Da wird noch eine Angabe im HTTP-Header existieren und die ist stärker als die Meta-Angabe.
Ändern die Konfiguration des Servers oder verwende eine Charsetangabe in PHP mittels header().
Beispielsweise: header('Content-Type: text/html; charset=utf-8');
echo "$verabschiedung $name";
hi,
Da wird noch eine Angabe im HTTP-Header existieren und die ist stärker als die Meta-Angabe.
siehe auch https://forum.selfhtml.org/?t=113516&m=720811
gruß,
wahsaga