WP e-Commerce Adressen mit Umlauten in UTF-8

von

Nur ein kurzer Bugfix.

WP e-Commerce UTF-8 Bug

Wenn man einen Shop in seine WordPress-Installation integrieren will, führt wohl kaum ein Weg an WP e-Commerce vorbei. Trotz zahlreicher Schwächen ist es im Vergleich zu den anderen Plugins in den schier unendlichen Weiten des Plugin Directories das kleinere Übel.

Ein Bug, der mich einiges an Zeit kostete, war die falsche Ausgabe von Adressen mit Umlauten oder “ß” im Namen, was in Deutschland recht häufig der Fall ist (“Straße”). Die Adressen wurden richtig kodiert in die Datenbank gespeichert (darauf achten, dass sie auf UTF-8 gestellt ist) aber es wurden immer komische Zeichen wie ü, ö oder � ausgegeben.

Das Problem des Russen, betrifft alle Zeichen die außerhalb des Ami-Alphabets sind..

Nach einigen Rumgooglen (tolles Wort oder?) fand ich schließlich in einem russischen Forum die Lösung. Großer Dank geht dabei an die Übersetzungkunst von Google ;) .

Der Threadersteller hatte genau das gleiche Kodierungsproblem – die Adressen wurden von WP e-Commerce nicht in UTF-8 ausgegeben. Die dargestellte Lösung behebt das Problem, alles was man tun muss ist eine Zeile im Plugin zu verändern.

In der Datei plugins/wp-e-commerce/wpsc-includes/checkout.class.php die Zeile 348:

1
$saved_form_data = htmlentities(stripslashes($_SESSION['wpsc_checkout_saved_values'][$this->checkout_item->id]), ENT_QUOTES);

mit folgendem Code ersetzen:

1
$saved_form_data = htmlentities(stripslashes($_SESSION['wpsc_checkout_saved_values'][$this->checkout_item->id]), ENT_QUOTES, 'UTF-8');

Und siehe da, die Adressen, Namen und Städte werden ordentlich, d.h. in UTF-8 kodiert, ausgegeben. Hoffe, das hilft einigen weiter. ;)

Die hier könnten dich auch interessieren…