29.06.2013
Störungen auf der Website nach PHP-Umstellung bei 1und1 behoben...
Es hat ein wenig gedauert, bis ich überhaupt darauf aufmerksam gemacht wurde, aber nach dem "Zwangsupdate" meines Hostingpakets bei 1&1 hatte ich (nach kurzen Problemen, die ich mir per .htaccess-Anweisung eingefangen hatte) eigentlich gedacht, dass alles funktioniert.
Falsch: Sowohl das Tool zur Bereinigung von Seitenquellcode als auch das Kontaktformular hat leider nicht immer funktioniert. Je nach Nachricht bzw. umzuwandelndem Text gab es Störungen, die ich nun mit einiger Mühe auf "verschwundene" Variablenwerte zurückgeführt habe. Die Ursache: wer wie ich von htmlentities() oder htmlspecialchars() Gebrauch macht, sollte wissen, dass nun ein anderer Zeichensatz (natürlich utf-8) als Voreinstellung gilt und so wird durch die anderen - ebenso nicht gesetzten und mit neuen Defaults versehenen Optionen - schnell aus einem String ein Nichts. Leerzeichen an der falschen Stelle oder Umlaute sind typische Auslöser. Das Problem ist - einmal gefunden - aber schnell zu beheben, indem alle Aufrufe angepasst werden, um das bisherige Verhalten wiederherzustellen.
Aus...
htmlentities($txt);
... wird dazu...
htmlentities($txt, ENT_COMPAT,'ISO-8859-1', true);
... und schon ist das Problem vermutlich behoben. Wer also ähnliche Probleme hat, findet hoffentlich diesen Beitrag 😉