Randshop - Standard-Newsletter Problem mit Umlauten

Wie im randshop-Forum beschrieben wurde, kann der Standard-Newsletter nicht korrekt mit Texten umgehen die Umlaute enthalten. Sprachtypische Sonderzeichen sind davon ebenfalls betroffen.

Durch eine für den Benutzer nicht sichtbare, fehlerhafte Anzeige des Eingabeformulars werden ISO-8859-1 codierte Zeichen an die Datenbank geliefert. Diese erwartet jedoch UTF-8 codierte Zeichen. Dies führt beim Speichern der Texte dann zum Abschneiden beim Auftreten des ersten fehlerhaften Zeichens. Der Rest des Texts geht verloren und steht beim darauffolgenden Versand des Newsletter nicht zur Verfügung.

Durch ein paar Änderungen im Code des Standard-Newsletters wird nun sichergestellt, dass die korrekt codierten Texte auch korrekt in der Datenbank landen. Damit kann nun der Standard-Newsletter auch korrekt versandt werden.

Die Änderungen im Detail:

Im Wesentlichen bekamen die Dateien jetzt einen korrekten html-header. Dieser sorgt dafür, dass die Seiten in den Browsern statt im quirks-Modus im standardkonformen Modus angezeigt werden. Im IE6 (zum Glück fast ausgestorben) sorgte dies dafür, dass der Box-Model-Fehler nicht mehr auftrat. Heutzutage ist das zwar nicht mehr so problematisch, der standardkonforme Modus sorgt jedoch allgemein für weniger Probleme beim Gestalten der Seiten per CSS. Auch die zuverlässige Anzeige der Seite in UTF-8 Codierung wird dadurch begünstigt.

Beim Eingabeformular sorgt ein accept-charset utf-8 beim Form-tag jetzt dafür, dass auch bei falscher Codierung der Anzeige die eingegebenen Daten UTF-8-codiert bei der Datenbank ankommen. Funktioniert zwar oft auch ohne, macht das Ganze aber robuster.

Dazu dann noch überprüft, dass der html-Quelltext der Seiten auch valide ist. Hilft mir immer bei der Fehlersuche, wenn irgendetwas nicht so angezeigt wird wie es eigentlich sein sollte.

Im Grunde genommen keine besonderen Tricks, eigentlich nur die Bestätigung, dass sauberes Arbeiten sich schlußendlich doch auszahlt.

Hinweistext für Newsletter-Abmelden anpassen

Wer nun noch den Hinweistext zum Newsletter-Abmelden anpasst kann auch das unnötige html-Entity entfernen. Dazu in der Datei /includes/language/langu_de.inc.php die folgende Zeile suchen und das ö durch ein ö ersetzen:

$n_newsletterLoeschHinweis_Text = "\r\n\r\nWenn Sie den Newsletter abbestellen möchten, benutzen Sie bitte folgende URL:\r\n";

Passt für randshop 2.0/2.01, 1.7 und 1.6

Zum Download stehen jetzt erstmal die angepassten Dateien für randshop 2.0/2.01 bereit. Da sich seit der 1.6 an den betreffenden Dateien nichts geändert hat, passt der Patch für 2.0/2.01, 1.7 und 1.6. Sollte für ältere Versionen Bedarf bestehen, lassen Sie es mich wissen! Z.B. per Kommentar.

Download

Bitte vor dem Download anmelden. Neue Mitglieder registrieren sich bitte zuerst.

Die angegebenen Daten werden nur für Ihre Anmeldung auf www.shopzeug.de verwendet und nicht an Dritte weitergegeben. Versprochen!

Lizenz und Installation:

Die Verwendung dieser Dateien ist kostenlos und an keine weiteren Bedingungen geknüpft.
Die ursprüngliche Lizenz des randshop gilt auch für diese Dateien.

Installation:

Nach dem Download des zip-Archives speichern sie dieses in einen eigenen Ordner. Dann wird das Archiv in diesen Ordner entpackt. Dabei kommen die beiden Dateien index.php und newsletter_schicken.php zum Vorschein. Beide Dateien müssen dann per ftp-Programm in den Ordner /admin/standard_newsletter/ kopiert werden. Dabei werden die zwei bestehenden Dateien überschrieben. Entsprechende Rückfrage des ftp-Programms bitte mit ja bestätigen.

Achtung: Fehler beim Übertragen der Dateien (z.B. Kopieren in den falschen Ordner) können Ihren Shop beschädigen. Sie sollten dies deshalb nur selbst durchführen, wenn Sie sich sicher sind. Anderenfalls ziehen Sie bitte einen Fachmann zu Rate!

Das ist dann schon alles! Ab jetzt sollten die Standard-Newsletter korrekt versandt werden können.

Ganz wichtig:

Auch wenn man es nicht sieht, aber z.B. in diesem Artikel stecken gut zwei Stunden Arbeit. Diese Leistung steht Ihnen kostenlos zur Verfügung.

Die Währung im Internet ist Information, Content und Links. Ich würde mich deshalb sehr freuen, wenn Sie einen Kommentar abgeben würden. Damit bekommen ich die Information, ob meine Arbeit hilfreich war. Und ich bekomme auch etwas Content (=Ihren Kommentar) auf diese Seite.
Sie bekommen dabei noch einen Link zu Ihrer Seite, wenn Sie beim Abgeben des Kommentars das Feld Webseite einfach mit der Adresse Ihrer Internetseite ausfüllen.
Damit haben wir dann beide etwas von dieser Seite, oder?

Kommentar abgeben: