« Posts tagged serendipity

Spam in den Kommentaren

Seit der Umstellung von Serendipity zu WordPress kommt es wieder vermehrt zu Spam-Kommentaren. Neben der massiven Werbung für Viagra und Co. kommt es auch zu scheinbar lobenden Kommentaren, bei denen der Kommentator in seiner URL eine entsprechende Seite angibt.

Auf Englisch liest sich ein solcher Kommentar zum Beispiel so:

You made some good points there. I did a search on the topic and found most people will agree with your blog.

Aber immer mehr deutsche Allgemeinsätze trudeln hier ein und landen in der Spamliste:

Absolut Super Artikel, dies wollte ich auch schon Mal schreiben, wusste aber niemals wie ich das zu Papier bringen konnte 🙂 .

Vorbildlich, dass hier regelmaessig gepostet wird.

Lehrreicher Post. Bereichernd, wenn man sowas auch mal aus einer anderen Perspektive betrachten kann.

Ein einziger Spamkommentar hat mich stutzig gemacht. Hätte ihn nicht „Online Gambling Casinso“ abgegeben, wäre er mir als „echt“ durchgegangen:

Da frage ich mich beim groben Lesen von verstand-in-gefahr.de ja schon, ob man selbst nicht irgendwie bescheuert war. Dankeschön für Ihre Berichte

Der Kommentarspam wird leider immer besser.

Von Serendipity zu WordPress mit Umlauten

Nach langem Hin und Her und viel Fluchen habe ich es geschafft, die Inhalte von „Verstand in Gefahr?!“ weitesgehend verlustfrei zu übertragen. Grundsätzlich Hilfe bot das Plugin, welches ich bei Snowulf via Dobschat gefunden habe.

Leider machte dieses Importtool erhebliche Probleme bei Umlauten. Die aus PHP bekannte Funktion utf8_decode() half leider auch nicht weiter, weil aus irgendwelchen Gründen dann zwar die Umlaute korrekt übertragen wurden, aber jeder Eintrag beim ersten ß abbrach. Das ist für ein deutsches Blog auch etwas unbefriedigend.

Also blieb mir nichts anderes übriges, als etwas „quick & dirty“ ein kleines Skript zu schreiben, mit dem zumindest die Kommentare und Einträge wieder lesbar sind. In einem ersten Schritt habe ich die Tabellen serendipity_entries und serendipity_comments in die WordPress-Datenbank importiert und darüber folgendes Skript laufen lassen.

<?php
 include("connect_db.php"); // eure Datenbankverbindung
 $sql="SELECT * FROM serendipity_entries;";
 $result=mysql_query($sql) or die(mysql_error());
 while($row=mysql_fetch_array($result))
 {
 $body=utf8_decode($row['body']);
 $titel=utf8_decode($row['title']);
 $sql_wp="UPDATE wp_posts SET post_content='".mysql_real_escape_string($body)."', post_title='".mysql_real_escape_string($titel)."' WHERE ID=".$row['id'].";";
 mysql_query($sql_wp) or die(mysql_error().$sql_wp);
 }
 $sql_2="SELECT comment_ID, body, id as s9yid FROM `wp_comments`, serendipity_comments WHERE comment_post_ID=entry_id and comment_author_IP=ip and comment_author_email=email and left(comment_content,4)=left(body,4)
;"; // das ist sicherlich nicht ganz perfekt, aber zumindest bei mir paßte dieses Konstrukt
 $result2=mysql_query($sql_2) or die(mysql_error());
 while($row2=mysql_fetch_array($result2))
 {
 $inhalt=utf8_decode($row2[1]);
 $sql_com="UPDATE wp_comments SET comment_content='".mysql_real_escape_string($inhalt)."' where comment_ID=$row2[0];";
 mysql_query($sql_com) or die(mysql_error().$sql_com);
 }
?>

Wie gesagt: quick & dirty, aber nun sind alle Einträge komplett inklusive Umlauten in WordPress.

Migration

Nach langem Hin und Her habe ich es nun geschafft.

Ab sofort bildet WordPress die Grundlage dieses Blogs, Serendipity mußte nach langer Zeit weichen. Bei dieser Gelegenheit habe ich das Experiment beendet, nur einen Artikel auf der Startseite anzubieten.

Sicherlich werden sich noch einige Fehler finden, denn die gefundenen Importlösungen hatten alle so ihre Probleme mit Umlauten, was sich hier und da wiederfinden wird. Allerdings bin ich immer nebenher dabei, diese Fehler abzustellen. Vielleicht werde ich hier noch ein paar Erfahrungen im Detail veröffentlichen.

Wer noch Fehler findet, schreibe einfach einen Kommentar.