comfuse Posted July 2, 2019 Share Posted July 2, 2019 Hallo, wir haben eine PS Installation migriert und dabei von der 1.6 auf eine 1.7.5.0 hochgehoben. Hat soweit alles gut geklappt, nur gibt es ein paar Geburtswehen. Ich bin inzwischen a) etwas ratlos, weil ich nicht mehr weiß, mit welchen Suchbegriffen ich hier operieren soll, um das Thema zu finden und b) erstaunt, dass es das Problem scheinbar bei sonst niemandem gibt... aber gut, damit müssen wir gerade mal leben Im Checkout hat der Kunde die Möglichkeit, im Abschnitt "Versand" eine Nachricht an die Bestellung zu hängen. Die kommt leider im Backend mit kaputten Umlauten an, der Text ist also falsch kodiert. Bei den übernommenen Texten taucht dieses Problem nicht auf, sonst sind die Texte okay. Einfache, wenn auch unschöne Fragen: - Ist das ein Datenbankproblem? - Haben wir uns mit der fehlerhaften Codierung alles versaut? - Kann man das noch retten (z.B. in der Klasse message.php die Kodierung umschreiben?) oder müssen wir von vorne anfangen? Danke im Voraus für Eure Tipps, nun noch das Formale: Serverdaten Linux #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 Version der Server-Software Apache/2.4.29 (Ubuntu) PHP-Version 7.2.19-0ubuntu0.18.04.1 PrestaShop-Version 1.7.5.0 Danke Carsten Link to comment Share on other sites More sharing options...
Wuschel Posted July 2, 2019 Share Posted July 2, 2019 (edited) Nö, das liegt nicht an euch. Das ist mal wieder ein Bug in 1.7, der schon seit längerem bekannt ist. Öffne die classes/Tools.php und suche nach der Funktion function htmlentitiesUTF8. Hier gibt es die Zeile Quote return htmlentities((string) $string, $type, 'utf-8'); Das änderst du in: Quote return htmlspecialchars((string) $string, $type, 'utf-8'); Dann sollten die Umlaute korrekt angezeigt werden. Falls das nicht klappt, gäbe es auch die Möglichkeit, die Variable $message in der /classes/PaymentModule.php zu ändern. Statt Quote $customer_message->message = $update_message->message; Müsste es dann heißen: Quote $customer_message->message = html_entity_decode($update_message->message, ENT_COMPAT, "UTF-8"); Letzteren Vorschlag hat am Samstag ein User bei Github gemacht, die erste Variante ist bei Prestashop für eines der kommenden Updates geplant, wurde aber schon mehrfach verschoben. Edited July 2, 2019 by Wuschel (see edit history) 1 Link to comment Share on other sites More sharing options...
comfuse Posted July 2, 2019 Author Share Posted July 2, 2019 Woohoo, danke für den schnellen Tipp! Wird getestet. Carsten Link to comment Share on other sites More sharing options...
comfuse Posted July 3, 2019 Author Share Posted July 3, 2019 Hallo, Variante 1 führte schon zum Erfolg, also htmlentities in htmlspecialchars umzuschreiben. Nochmal merci. Carsten Link to comment Share on other sites More sharing options...
Wuschel Posted July 3, 2019 Share Posted July 3, 2019 Freut mich. Dann setz doch bitte auch den Topic auf [Gelöst], ja? Link to comment Share on other sites More sharing options...
miographix Posted January 10, 2020 Share Posted January 10, 2020 (edited) Bin nun auf das gleiche Problem gestoßen und leider führt keine der beiden genannten Lösungen zum Erfolg. Noch neue oder weitere Ansätze? EDIT: Hat sich erledigt! Nun klappt es mit Varinate 1! War wohl zunächst ein Cache-Problem. Edited January 10, 2020 by miographix (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now