====== Falsche Collation für UTF8MB4 ====== Folgender Fehler kann bei X4 mit MySQL 8 auftauchen:\\ {{:de:faq:wrong_default_collation.png|}} \\ MySQL ändert die **default_collation_for_utf8mb4** zw. MySQL 5.7 und 8.0 von **utf8mb4_general_ci** auf **utf8mb4_0900_ai_ci**\\ Siehe: [[https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_collation_for_utf8mb4]]\\ \\ Das hat zur Folge, dass X4 Dumps, die auf MySQL 8 eingespielt werden inkompatible Collations bei sehr vielen Datenbankfeldern haben.\\ Wenn anschließend ein Datenbankupdate ausgeführt wird (ausführen der from_current.sql) kommt es zu Fehlern.\\ \\ Leider kann diese Default-Einstellung in MySQL 8 nicht permanent geändert werden.\\ Lt. [[https://bugs.mysql.com/bug.php?id=96335]]\\ bzw.: [[https://stackoverflow.com/questions/60929902/mysql-table-collation-differs-from-database-collation-on-windows]]\\ scheint es sich dabei um einen Bug zu handeln.\\ \\ Einzige funktionierende Lösung die bisher gefunden werden konnte:\\ Vor dem Einspielen das Dumps über die Workbench muss unbedingt folgender Befehl ausgeführt werden:\\ **SET @@GLOBAL.default_collation_for_utf8mb4 = utf8mb4_general_ci;**\\ \\ Damit wird diese Einstellung gesetzt.\\ Anschließend kann der Dump mittels MySQl Workbench korrekt eingespielt werden.\\ \\ Das Problem tritt nur bei X4 Dumps auf, die in MySQL 8 eingespielt werden.\\ Ältere Dumps können wie bisher eingespielt werden.\\ Auch ein Update einer X3 auf X4 unter MySQL 8 ist kein Problem.\\ Vorsicht also beim wieder Einspielen von Backups bzw. bei Serverumzügen\\