XT:Commerce auf UTF-8 umstellen inkl. Afterbuy Anbindung

Wer wie wir seine xt:commerce Datenbank auf UTF-8 umstellen muss oder möchte findet eine sehr gute Anleitung im Blog von Reiten, Schwimmen,Lesen.

Unser Shop ist zusätzlich noch an Afterbuy angebunden und Afterbuy (bzw. die Standardschnittestelle von xt:c zu Afterbuy) nutzt als Kodierung ISO-8859-1 (Latin1). Daher werden bei einer Übertragung einer Bestellung von xt:c zu Afterbuy die Umlaute und einige Sonderzeichen ‚verstümmelt‘ dargestellt. Nach langem Suchen und Probieren haben wir eine Lösung gefunden die Kodierung nur für das Übertragen der Bestellung an Afterbuy von utf-8 (wie es vom Shop kommt) in ISO-8859-1 zu ändern.

Dazu haben wir in der Datei /includes/classes/afterbuy.php folgende Zeile eingefügt:

$DATAstring = iconv(„UTF-8″,“ISO-8859-1″,“$DATAstring“);

Ungefähr Zeile 300 direkt über folgendem Code:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $DATAstring);
$result = curl_exec($ch);

Damit werden alle Daten, die zuvor in $DATAstring gespeichert wurden mittels iconv() von UTF-8 in ISO-8859-1 umgewandelt und danach über die CURL Funktion an Afterbuy übertragen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.