(17.09.2020, 16:03)frostschutz schrieb: [ -> ]Der hoffentlich letzte Dinosaurier der noch mit so einer alten MySQL-Version unterwegs ist, stirbt dieses Jahr aus (CentOS 6 EOL).
Gibt es da einen einfachen Weg rauszufinden, welche Distributionen welche Versionen verwenden?
(17.09.2020, 16:03)frostschutz schrieb: [ -> ]Bei @Gerti klappt die Konvertierung von ¿latin1? zu UTF-8 nicht.
latin1-Tabellen mit UTF-8-Inhalten? Na, das wird spaßig.
Diesen (ungünstigen) Fall deckt die Konvertierung leider nicht ab.
(17.09.2020, 16:27)StefanT schrieb: [ -> ] (17.09.2020, 16:03)frostschutz schrieb: [ -> ]Bei @Gerti klappt die Konvertierung von ¿latin1? zu UTF-8 nicht.
latin1-Tabellen mit UTF-8-Inhalten? Na, das wird spaßig. Diesen (ungünstigen) Fall deckt die Konvertierung leider nicht ab.
Das von Dir geschilderte Problem betrifft z.B. die Tabelle "mybb_templates" und da MyBB das nicht abdeckt (Konvertierung schneidet Inhalte von einigen Templates wegen "latin-1-Kodierung" ab), habe ich die "Umstellung auf UTF-8" der Tabelle "mybb_templates" auf anderem Wege bewältigt.
Ursprungsvariante:
1. Umstellung der Tabelle auf "utf-8" via ACP
2. Forumfunktion getestet = Templates zerschossen
Funktionsvariante:
1. Umstellung der Tabelle auf "utf-8" direkt mit dem SQL-Befehl:
Code:
ALTER TABLE mybb_templates CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
durchgeführt.
2. Forumfunktion getestet = OK
3. im ACP auf "utf8mb4" konvertiert
4. Forumfunktion getestet = OK
(was MyBB nicht bewältigen kann, erledigt ein einfacher SQL-Befehl
Dank an Alle für die Unterstützung, Tipps und Anregungen zur Problemlösung.
Nachtrag:
Da einige Tabellen von MyBB in Rot angezeigt wurden (vermutlich wegen "latin-1") bin ich - um Problemen im Vorfeld zu begegnen (Erfahrung lehrt) - wie folgt vorgegangen:
a) für jede Tabelle einen SQL-Befehl zur Umstellugn auf "utf-8" erstellt
b) alle erstellten Befehle (zusammenfasst) via Drag&Drop in das SQL-Befehlsfeld kopiert
c) durchlaufen lassen (kein Fehlermeldungen)
d) MyBB > ACP zeigt alles auf Grün
e) mit MyBB auf "utf8mb4" konvertiert
f) alles nunmehr im grünen Bereich
Dann hast du noch mal Glück gehabt, bei anderen Fällen (schon lange her, da MyBB schon über 10 Jahre kein latin1 mehr nutzt) war die Fehlerbehebung komplizierter.
(18.09.2020, 09:43)StefanT schrieb: [ -> ]Dann hast du noch mal Glück gehabt, bei anderen Fällen (schon lange her, da MyBB schon über 10 Jahre kein latin1 mehr nutzt) war die Fehlerbehebung komplizierter.
Ob es "latin-1" tatsächlich geschuldet war, entzieht sich meiner Kenntnis, ich habe mich lediglich auf
diese Ausführung von Frostschutz bezogen.
Fakt ist: MyBB war nicht in der Lage die Konvertierung der Tabellen auf "utf-8" (3-Byte = UTF-8 Status) durchzuführen und hat Templates zerstört anstelle Abzubrechen und/oder eine Fehlermeldung auszugeben. Die Suche nach einem funktionierenden Lösungsweg war daher nicht gerade leicht.
Anregung:
Würde MyBB diesen Befehl:
Code:
ALTER TABLE tabellenname CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
bei der Konvertierung der Tabellen zu "utf-8" (3-Byte = UTF-8 Status) verwenden, wären alle "Alt"-Probleme (wie von Dir bezeichnet) beseitigt und die Konvertierung erfolgreich! Sind alle Tabellen in "utf-8" (3-Byte) dann gelingt die Umstellung auf "utf-8" (4-Byte UTF-8 Unterstützung) problemlos.
Vielleicht sollte man diese Erfahrung als Anregung an die MyBB-Entwickler weiter leiten.
Die UTF-8-Konvertierung kann Datenbanken von MyBB-Versionen konvertieren, die noch latin1 verwendet haben. Im Falle der deutschen Sprachpakete betrifft das Versionen vor MyBB 1.2.3. Dieses Feature wird daher seit 13 Jahren eigentlich gar nicht mehr benötigt (die Konvertierung zu mb4 dagegen schon).
Um eine vermurkste Datenbank mit vermischten Kodierungen zu reparieren, ist die Konvertierung weder gedacht noch geeignet. Diese Fälle sind kompliziert und es gibt zahlreiche Konstellationen, die jeweils unterschiedlich behandelt werden müssten.
Im Übrigens konvertiert die Datensätze auch nicht selbst, sondern schickt nur entsprechende Queries an den Datenbank-Server. Wenn dieser Daten abschneidet, merkt es das MyBB nicht.