WebsiteBaker Community Forum

WebsiteBaker Support (2.13.x) => Modules => Topic started by: sabo-! on June 08, 2023, 01:24:57 PM

Title: Fehlermeldung beim Feedback-Modul
Post by: sabo-! on June 08, 2023, 01:24:57 PM
Hallo zusammen,

auf einer Seite mit WebsiteBaker 2.13.3 r166 und PHP 8.0 ist das Feedback-Modul von Ralf Hertsch, Version: 1.1.1.

Es funktioniert soweit prima. Doch ein User meldete plötzlich beifügte Fehlermeldung "illegal mix of collations". Was könnte dafür die Ursache sein bzw. was wäre hier zu tun?

(https://gyazo.com/eb8db7c6076b515c6f2c21febb985f2c)
https://gyazo.com/eb8db7c6076b515c6f2c21febb985f2c (https://gyazo.com/eb8db7c6076b515c6f2c21febb985f2c)
Title: Re: Fehlermeldung beim Feedback-Modul
Post by: sternchen8875 on June 08, 2023, 02:57:19 PM
Die Ursache sind unterschiedliche Zeichensätze in den Datenbank-Tabellen, die zu diesem Feedback-Modul gehören. Dadurch kommt es beim Einlesen der Daten zu Problemen, weil Zeichen nicht erkannt werden oder plötzlich eine andere Bedeutung haben. Ein typisches Beispiel wäre das Hochkomma, das in deutschen Texten schon mal eine Verwendung findet (z.b. Ralf's Fahrrad), in PHP aber u.U.dafür sorgen kann, das eine Abfrage eben beendet wird oder unverständliche Daten liefert, abhängig von dem, was an Daten in der DB steht.

Mit Einführung von PHP 7 hat man auch UTF8 als DefaultCharset definiert und dementsprechend sollten Datenbanktabellen einen kompatiblem Zeichensatz verwenden. Im Zuge der Einführung von PHP7 gab es diverse Threads zum Thema Konvertierungen von latin zu uft8 oder Umlautprobleme usw. Ich denke mal, da wurden dann wohl nur Zeichen umgewandelt, um Umlaute und Sonderzeichen wieder lesbar zu machen, aber eben keine Tabellen umgewandelt bzw angepasst.

Einfachste Methode (aus meiner Sicht) wäre wohl das direkte Arbeiten in PHPmyAdmin oder anderen Datenbank-Verwaltungsprogrammen

Hier mal solch Bild aus der Übersicht einer Datenbank
(https://i.gyazo.com/217e24d58acd5efff409bd0b374e87d1.png)

Die markierte Spalte gibt die Informationen über die sog. Kollation. Zeile 1 + 2 sind die original WB-Tabellen addons und groups, ab Zeile 3 dann das OFA-Modul mit 5 Tabellen in alter Kollation latin1 .Keine Bange, ist ein altes Backup  ;-)

Idealerweise schaust du in die config.php, welcher Zeichensatz dort definiert ist, es sollte utf8_general_ci oder utf8mb4_general_ci sein

Nun kannst du über eine SQL-Anweisung diese Kollation ändern. Der Tabellenname (hier rot markiert) muß dann der sein, der auch in der Datenbank verwendet wird, also inkl Table_Prefix. Nach meinen alten ZIP's verwendet das Feedback-Modul nur diese eine DB-Tabelle mod_feedback

Quote
ALTER TABLE Tabellenname CONVERT TO CHARACTER SET utf8 COLLATE utf8mb4_general_ci;

Die Änderung ließe sich auch über die Tabellen-Operationen anpassen. Dafür:
- Tabelle anklicken
- Button Operationen anklicken
- beim Punkt Kollation die in der config.php genannte Kollation auswählen und mit OK bestätigen

Nach der Änderung der Kollation noch einmal durchschauen, ob alles richtig dargestellt wurde


Eventuell finden sich da noch mehr solcher Tabellen. Das sind nicht unbedingt und zwingend zukünftige Problemkinder, aber dann muß der Code zum Eintragen und Auslesen der Daten aus zur jeweiligen Kollation passen. Bei dir ist es der Mix, der Probleme bereitet.
Title: Re: Fehlermeldung beim Feedback-Modul
Post by: sabo-! on June 08, 2023, 05:18:12 PM
Vielen Dank für den hilfreichen Hinweis. Ich habe es umgestellt und schaue mal, ob der Fehler damit behoben ist.
Title: Re: Fehlermeldung beim Feedback-Modul
Post by: hgs on June 09, 2023, 11:04:23 AM
Schau mal ins Addon, dort gibt es die Version 1.1.3
https://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=0A88F324
Title: Re: Fehlermeldung beim Feedback-Modul
Post by: sabo-! on June 09, 2023, 01:53:43 PM
Hallo Harald,
super Tipp. Danke! Wie mache ich das Update des Moduls am besten, ohne dass die Einträge überschrieben werden? ersetze ich einfach die alten Dateien auf dem Server mit den neuen?
Title: Re: Fehlermeldung beim Feedback-Modul
Post by: hgs on June 09, 2023, 07:19:19 PM
Normalerweise sollten die vorhandenen Einträge nicht betroffen sein.
Modul laden und über das BE "installieren"

Dadurch wird ein Update von Ver. 1.1.1 auf 1.1.3 gefahren.

Mach ein Backup vor dem Update, am besten mit den Backup Modul aus dem Addon-Bereich von DB und Webspace
https://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=0EE27675 (https://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=0EE27675)