Martin: ü erzeugt Fehler

Beitrag lesen

Hm...

1. Versuch:

<?php
$file = "test";

$content = "<DIV id="idContentDiv" >Ä Ö Ü ä ö ü ß</DIV>";
if($fh = fopen($file, "w")){
  fwrite($fh,"<![CDATA[".stripslashes(str_replace("'","&#39;",$content))."]]>");
fclose($fh);
}

$fh = fopen($file,"r");
$content = fread($fh, filesize($file));
fclose($fh);
$xml = "<root>";
$xml .= "<content>".htmlentities(trim($content))."</content>";
$xml .= "</root>";

header("Content-type: text/xml");
print($xml);
?>

Ergibt im Firefox:

XML-Verarbeitungsfehler: Undefinierte Entität

und als Quelltext:

<root><content>&lt;![CDATA[&lt;DIV id=&quot;idContentDiv&quot; &gt;&Auml; &Ouml; &Uuml; &auml; &ouml; &uuml; &szlig;&lt;/DIV&gt;]]&gt;</content></root>

2. Versuch:

<?php
$file = "test";

$content = "<DIV id="idContentDiv" >Ä Ö Ü ä ö ü ß</DIV>";
if($fh = fopen($file, "w")){
  fwrite($fh,"<![CDATA[".stripslashes(str_replace("'","&#39;",$content))."]]>");
fclose($fh);
}

$fh = fopen($file,"r");
$content = fread($fh, filesize($file));
fclose($fh);
$xml = "<root>";
$xml .= "<content>".trim($content)."</content>"; // OHNE HTMLENTITIES
$xml .= "</root>";

header("Content-type: text/xml");
print($xml);
?>

Ergibt im Firefox:

<root>
<content><DIV id="idContentDiv" >� � � � � � �</DIV></content>
</root>

bzw. im Quelltext:

<root><content><![CDATA[<DIV id="idContentDiv" >� � � � � � �</DIV>]]></content></root>

Und im MSIE:

Im Textinhalt wurde ein ungültiges Zeichen gefunden. Fehler beim Bearbeiten der Ressource.

Und was jetzt?

Gruß und Dank

Martin