Database Konversion vor Updates

Database Konversion vor Updates

von Jan van Leeuwen -
Anzahl Antworten: 9

Hallo,

momentan haben wir unsere Moodle auf Version 3.5.5.

Ziel ist Updaten nach 3.8.

Dafür sollte ich der Database von Antelope auf Barracuda bringen, das war kein großes Problem.

Weiter war gemeldet dass bevorzugt utf8mb4 als Collation genutzt werden soll.

Mit Hilfe von ein SQL-Script war ein Script generiert dass die gesammte Collation umstellen soll auf utf8mb4.

Folglich kommt von Mysql ein Fehlermeldung
specified key was too long;max key length is 767 bytes

In Internet gefunden man soll von die Felder die es betrifft von varchar 255 auf 100 umstellen weil 255 zu gross ist.

Nachdem ich in 4 Tabellen die Felder angepasst habe kann ich nicht mehr einloggen in Moodle.

Ich werde erst mein Backup der DB zurück setzten.

Meine Frage, kann man Moodles Database überhaupt umstellen denn es scheint mir unlösbar.

Wenn das wirklich nur für "Emojis" ist frage ich ob das notwendig ist.

MfG

Jan

Mittelwert: Nützlich (1)
Als Antwort auf Jan van Leeuwen

Re: Database Konversion vor Updates

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Gute Frage! So wie ich in Erinnerung habe utf8mb4 ist kein Muss. Also, du kannst auf die Konvertierung verzichten. Für wie lange, kann ich leider nicht sagen. ;)
Als Antwort auf Visvanath Ratnaweera

Re: Database Konversion vor Updates

von Jan van Leeuwen -
Danke für diesem Antwort.
Es muss dann ohne utf8mb4, wäre schön wenn man in der EDV endlich mal 1 Standard hat, seit mehr als 30 Jahren immer dieselbe Problemen, eigentlich traurig.

Die Meldung ist in diesen Sinne komisch:
Die aktuelle Konfiguration von MySQL oder MariaDB verwendet 'utf8'. Dieser Zeichensatz unterstützt keine vier Byte-Zeichen, wie sie z.B für einige Emoji notwendig sind. Der Versuch, diese Zeichen zu verwenden, führt zu einem Fehler beim Aktualisieren eines Datensatzes, und alle Informationen, die an die Datenbank gesendet werden, gehen verloren. Es wird empfohlen, die Einstellungen auf 'utf8mb4' zu ändern. Weitere Informationen finden Sie in der Dokumentation.

MfG
Jan
Als Antwort auf Jan van Leeuwen

Re: Database Konversion vor Updates

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Die Meldung ist soweit richtig. Du kannst Moodle ohne utf8mb4 betreiben. Aber wenn jemand solche Zeichen einzufügen versucht, wirft Moodle eine Fehlermeldung. Man ist dann blockiert, es sei denn der Autor löscht das Zeichen und versucht wieder. In den meisten Orten zwischen speichert Moodle die eingegeben Daten.

Allerdings den Fall,
> specified key was too long;max key length is 767 bytes
>
> In Internet gefunden man soll von die Felder die es betrifft von varchar 255 auf 100 umstellen weil 255 zu gross ist.
kenne ich nicht. Kannst du die Links hier posten?
Als Antwort auf Visvanath Ratnaweera

Re: Database Konversion vor Updates

von Andre Söldner -
Hatte auch schon einmal das Problem.
Lösung war einen höheren Wert in einer MySQL-Server-Konfiguration-Datei.
Weiss aber nicht mehr welche Datei und Wert.
VG Andre
Als Antwort auf Visvanath Ratnaweera

Re: Database Konversion vor Updates

von Jan van Leeuwen -
muss ich suchen, kommt etwas später.

Erst mal ohne utf8mb4.
Wenn das nur für "Emojis" ist kann man zweifeln an den Sinn.

MfG
Jan
Als Antwort auf Jan van Leeuwen

Re: Database Konversion vor Updates

von Paola Lehmann -

Hallo,

hat jemand eine Lösung gefunden zum Problem mit UTF8mb4?

Ich habe meine Deutsch-E-Learning Seite auf 3.9.1. updatet, aber von der 3.3. Version aufwerts werden alle Sonderzeichen wie Umlaute, scharfes S, aber auch Akzente in den italienischen Erklärungen, copyright usw. nicht mehr korrekt angezeigt. Wegen einer Warnmeldung habe ich im DB die collation von UTF8 auf UTF8MB4 verändert. Auch in den Quiz selbst werden sie Sonderzeichen nicht wiedererkannt, sodass meine gesamten Kurse unbrauchbar sind. Kann mir jemand weiterhelfen?

Paola

Als Antwort auf Paola Lehmann

Re: Database Konversion vor Updates

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Hallo Paula

Der Zeichensatz uft8mb4 ist kein Problem sondern eine Erweiterung. ;)

Zur Frage: Dein Moode hat Sonderzeichen (Umlaute, Akzente) haben bis Version 3.3 richtig verarbeitet, aber seit her stellen sie falsch dar? Kannst du ein Beispiel als Screenshot anhängen wie das Bild weiter unten?

Kannst du die HTML-Quelle einer solchen Seite im Browser darstellen und schauen was hinter dem Zeichen steckt?

Übrigens, die empfohlene Collation in den neueren Moodle ist nicht utfmb8 sondern utf8mb4_unicode_ci.

P.S. Dies ist nicht das Problem vom Vorgänger https://moodle.org/mod/forum/discuss.php?d=404623, daher benötigt eine neue Diskussion.
Anhang umlaute-falsche-darstellung-webseite-1-80x80.png
Als Antwort auf Visvanath Ratnaweera

Re: Database Konversion vor Updates

von Paola Lehmann -
Lieber Visvanath,
danke für deine Antwort. Ich schicke dir meine Antwort hier und starte dann auch gleichzeitig eine neue Diskussion zum Thema, wie du mir empfohlen hast. Eine Freundin von mir, die Informatikerin ist und mir beim Updaten helfen möchte, und ich sind ziemlich am verzweifeln.
Ja, sie hat meine Webseite von der ursprünglichen Version 3.1 auf 3.1.6. updated, hat dann das DB auf utf8mb4_unicode_ci umgewandelt, und ab der Version 3.3.9 sind die Sonderzeichen in Erklärungen, Texte und Aufgabenstellungen nicht mehr erkennbar und werden auch in den Aufgaben (Quiz cloze mit gaps z.B.) nicht mehr erkannt und richtig bewertet. Von 3.3.9 hat sie auf 3.6 und auf 3.9 updated und das Problem besteht.
Ich schicke dir ein screenshot von einer Seite, in der ich die unerkennbaren Sonderzeichen gelb markiert habe: irregolarità, però, und das ä von du schläfst und er schläft, und auch die Quelle, sorgente.txt. Ca. ab Zeile 670 sind die nicht erkennbaren Sonderzeichen zu sehen.
Ich hoffe, dass du mir weiterhelfen kannst.
LG, Paola
Anhang WhatsApp Image 2020-07-28 at 11.19.02 (1).jpeg
Anhang WhatsApp Image 2020-07-28 at 11.46.14.jpeg