WebsiteBaker Support (2.13.x) > Modules

Fehlermeldung beim Feedback-Modul

(1/2) > >>

sabo-!:
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

sternchen8875:
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


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;
--- End quote ---

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.

sabo-!:
Vielen Dank für den hilfreichen Hinweis. Ich habe es umgestellt und schaue mal, ob der Fehler damit behoben ist.

hgs:
Schau mal ins Addon, dort gibt es die Version 1.1.3
https://addon.WebsiteBaker.org/pages/en/browse-add-ons.php?id=0A88F324

sabo-!:
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?

Navigation

[0] Message Index

[#] Next page

Go to full version