baum
07-29-2009, 09:32 AM
Hallo,
leider habe ich mal wieder ein UTF-8 Problem mit deutschen Umlauten. Ich versuche gerade Plug für PHP zu verstehen. Also wollte ich testweise einfach einmal den Inhalt einer Mindtouch Seite über PHP auslesen und auf einer anderen ausgeben. Im grossen und ganzen funktioniert das auch, aber:
Enthält die Seite deutsche Umlaute, spukt Mindtouch einen Fehler aus, dass das kein well-formed XML sei. Die (verkürzte) Form des PHP skripts
$xml_output = '<html><head></head><body>';
//(dann die Plug Integration, etc.)
$pageId = 54;
$result = $Plug->At('pages', $pageId, 'contents')->Get();
$help = $result['body']['content']['body'][0];
$help = str_replace('/@api/',$dreamServer.'/',$help);
$help = str_replace(' ',' ',$help);
$xml_output .= $help;
$xml_output .= '</body></html>';
return $xml_output;
Nun habe ich natürlich versucht die html Umlaute ü etc. auch mit Hilfe von str_replace zu bearbeiten, aber Ersetzen durch ü etc. führt natürlich zur Anzeige eines ? auf der Seite... Ein Blick auf eine UTF-8 Code Tabelle gibt mir zwar die Utf-8 Codes, aber wie ersetze ich die dann hier und ist das dann die Lösung?
Also, was mache ich falsch? Warum muss ich Space bzw. überhaupt ersetzen?
leider habe ich mal wieder ein UTF-8 Problem mit deutschen Umlauten. Ich versuche gerade Plug für PHP zu verstehen. Also wollte ich testweise einfach einmal den Inhalt einer Mindtouch Seite über PHP auslesen und auf einer anderen ausgeben. Im grossen und ganzen funktioniert das auch, aber:
Enthält die Seite deutsche Umlaute, spukt Mindtouch einen Fehler aus, dass das kein well-formed XML sei. Die (verkürzte) Form des PHP skripts
$xml_output = '<html><head></head><body>';
//(dann die Plug Integration, etc.)
$pageId = 54;
$result = $Plug->At('pages', $pageId, 'contents')->Get();
$help = $result['body']['content']['body'][0];
$help = str_replace('/@api/',$dreamServer.'/',$help);
$help = str_replace(' ',' ',$help);
$xml_output .= $help;
$xml_output .= '</body></html>';
return $xml_output;
Nun habe ich natürlich versucht die html Umlaute ü etc. auch mit Hilfe von str_replace zu bearbeiten, aber Ersetzen durch ü etc. führt natürlich zur Anzeige eines ? auf der Seite... Ein Blick auf eine UTF-8 Code Tabelle gibt mir zwar die Utf-8 Codes, aber wie ersetze ich die dann hier und ist das dann die Lösung?
Also, was mache ich falsch? Warum muss ich Space bzw. überhaupt ersetzen?