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…

6 Kommentare RSS

Benjamin

Perfekt! Danach habe ich gesucht – bleibt nun nur noch das Problem mit den UTF8 Umlauten beim Übertragen an “PayPal”…

Vielen Dank!!!

zyclop

ich hab das auch noch in der Produktbeschreibung und PayPal…was nun?

Norman

sry zyclop, da kann ich dir leider nicht mehr weiterhelfen.. kannst ja mal Benjamin schreiben, ob er eine Lösung für das PayPal-Problem gefunden hat.

Andreas

Schade… seit 2010 hat sich die Programmierung geändert und diese Zeile gibt es in beschriebener Form nicht mehr.

Norman

Hallo Andreas,
das ist wirklich blöd. Inwiefern hat sich der Code geändert? Gibt es wenigstens noch die Datei?

Philip

Hallo Norman,

die Datei gibt es noch, aber diese Zeile nicht mehr.

Ich habe das Problem der Umlaute nicht überall, nur wenn ein Produkt in das Warenkob Widget geladen wird. Sobald die Seite dann wieder aktualisiert wird, sind auch die Umlaute wieder ok.

Kommentieren