Umlautprobleme mit PHPlist und wie man sie behebt

Umlautprobleme mit PHPlist und wie man sie behebt

PHPlist ist ein sehr schönes Open-Source-Tool, um Newsletter auch an einen großen Empfängerkreis zu verschicken. Leider ist PHPlist etwas problematisch bei der Handhabung von deutschen Umlauten (stolpert aber ebenso auch über skandinavische Sprachen, französische Wörter mit Akzenten, kyrillische Buchstaben oder asiatische Zeichen), wenn man es nicht korrekt konfiguriert. Und auch das Zusammenspiel mit WYSIWYG-Editoren wie dem FCK-Editor oder TinyMCE ist nicht ganz geschmeidig. Wie man PHPlist korrekt konfiguriert, um diese Probleme zu vermeiden, beschreiben wir im folgenden Beitrag.

Als erstes installiert man den FCK-Editor, Wie das geht, haben wir ja schon in einem eigenen Beitrag beschrieben.

Dann gilt es in PHPlist, zu prüfen, ob die Installation auf den richtigen Zeichensatz eingestellt ist. Dazu loggt man sich als Administrator ein und klickt auf den Menüpunkt "Konfiguration". Dort sucht man die Einträge für "Charset for HTML messages" und "Charset for Text messages". Diese sollten für deutschsprachige Newsletter jeweils auf den Wert "ISO-8859-1" stehen (siehe Screenschot)

Einstellungen der Charsets für HTML- und Nur-Text-Newsletter

Wenn man nun Newsletter verschickt, die für einige Empfänger in HTML- und für andere als Nur-Text-Mails versendet werden, so wird man feststellen, dass die Nur-Text-Version, die Umlaute fehlerhaft ausliefert. Es gibt verschiedene Empfehlungen zur Änderung der PHPlist-Konfiguration (z.B. die Umstellung der Charsets auf UTF-8). Leider führen diese allesamt nicht zu dem gewünschten Ergebnis, da immer irgendein Teil des Newsletters die Umlaute falsch anzeigt. Das kann im Mailbetreff der Fall sein, im Mail-Body oder auch im Footer. Der Grund dafür liegt darin, dass der FCK-Editor (ebenso übrigens auch Tiny-MCE) beim automatischen Erzeugen der Nur-Text-Version aus der HTML-Version und dem anschließenden Abspeichern in der Datenbank im Zusammenspiel mit PHPlist die Umlaute "falsch" konvertiert. Die Lösung des Problems ist eigentlich ganz einfach: Man verzichtet auf die automatische Erzeugung der Nur-Text-Version eines Newsletters aus der mit FCK-Editor erstellten Originalversion und gibt die Nur-Text-Version manuell ein. Das hat auch den Vorteil, dass man die Nur-Text-Version anders gestalten kann, als die HTML-Version – wichtig. wenn man bspw. in der HTML-Version Tabellen verwendet hat!

Damit überhaupt eine eigene Nur-Text-Version anlegen kann, muss man in der config.php von PHPlist (zu finden unter ..phplist/config) in der Zeile mit der Anweisung

define("USE_MANUAL_TEXT_PART",0);

den Wert von Null auf 1 ändern. Anschließend speichert man die Datei ab und startet PHPlist neu. Wenn man jetzt einen neuen Newsletter anlegt, findet man unter dem Eingabefeld für die HTML-Version (mit FCK-Editor) ein weiteres Feld (rot umrandet im folgenden Screenshot) für die Nur-Text-Version (ohne FCK-Editor). In dieses zweite Feld gibt man jetzt  die Nur-Text-Version ein - ohne jegliches HTML (deshalb braucht man ja auch keinen FCK-Editor), d.h. Umlaute und Sonderzeichen, werden also solche eingegeben und keinesfalls als HTML-Entities!

PHPlist Newsletter erstellen mit getrennten Eingabefeldern für HTML- und Nur-Text-Version

Wenn man jetzt einen Test-Newsletter verschickt, werden sowohl in der HTML- als auch in der Nur-Text-Version alle Umlaute und Sonderzeichen korrekt dargestellt.