wp_insert_post und Sonderzeichen

Zur Abwechslung heute mal wieder ein Problem im Zusammenhang mit WordPress. Mithilfe der wp_insert_post Funktion ist es möglich, WordPress Postings automatisch zu erstellen. Aktuell hatten wir mit dieser Funktion bei der Migration von einem etwas älteren CMS zu kämpfen. Problematisch an der Importierung war, dass die Kodierung des alten CMS nicht mit dem von WordPress genutzten UTF8 Charsets nicht kompatibel war. Das Resultat war, dass Sonderzeichen nicht erkannt wurden und daraufhin auch wp_insert_post nur unzureichend funktioniert hat.

Die Lösung des Problems ist wie so oft einfach. Inhalte die man an wp_insert_post übergibt müssen einfach mithilfe der utf8_encode()-Funktion von PHP konvertiert werden. Ein Demo-Import könnte also z.B. wie folgt aussehen:
Zur Abwechslung heute mal wieder ein Problem im Zusammenhang mit WordPress. Mithilfe der wp_insert_post Funktion ist es möglich, WordPress Postings automatisch zu erstellen. Aktuell hatten wir mit dieser Funktion bei der Migration von einem etwas älteren CMS zu kämpfen. Problematisch an der Importierung war, dass die Kodierung des alten CMS nicht mit dem von WordPress genutzten UTF8 Charsets nicht kompatibel war. Das Resultat war, dass Sonderzeichen nicht erkannt wurden und daraufhin auch wp_insert_post nur unzureichend funktioniert hat.
Die Lösung des Problems ist wie so oft einfach. Inhalte die man an wp_insert_post übergibt müssen einfach mithilfe der utf8_encode()-Funktion von PHP konvertiert werden. Ein Demo-Import könnte also z.B. wie folgt aussehen:

$my_post = array(
'post_title' => mysql_real_escape_string($row['game_name']),
'post_content' => utf8_encode($row['description']),
'post_status' => 'draft',
'post_author' => 1,
);