Avatar

"leere" Antworten in den Postings nach Datenbank Import (General)

by Auge ⌂, Wednesday, September 04, 2019, 09:37 (1696 days ago) @ cw

Hallo

ich versuche gerade unser Forum (V1.7) auf einem neuen Server zu installieren (testweise).

Wie lange ist die 1.7 bei dir schon gelaufen? Ich frage, um abschätzen zu können, unter welcher PHP- und MySQL-Version einstmals die Installation stattfand.

Das sollten die größten Unterschiede der beiden Server sein
Alter Server: Server version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Neuer Server: mysql Server version: 5.7.27-0ubuntu0.16.04.1 (Ubuntu)

Ich habe bisher nie mit MariaDB gearbeitet, mir kommt aber MySQL 5.7 nicht gerade wie ein Fortschritt vor.

Nun habe ich das Problem das zwar alle Themen aufgelistet werden aber der Inhalt des Beitrag wird nicht anzeigt (bleibt leer) wenn ich einen Beitrag anklicke. Alles andere wie User Registrierung / Administrieren / ... funktioniert.
Die "vermissten" Inhalte der Beiträge sind definitiv in der Datenbank vorhanden.

Die Betreffe werden ja offensichtlich mindestens in der Übersichtsseite angezeigt. Werden zumindest sie angezeigt, wenn die Postings aufgerufen werden?

Das ganz merkwürdige ist, erstelle ich ein neues Thema erscheint der wie gewohnt in der Übersicht, auch der Inhalt angezeigt. Selbst bei Antworten auf dieses Thema wird mir der Beitragsinhalt korrekt angezeigt.

Es betrifft nur die alten (importierten) Themen / Beiträge, die Neuen werden korrekt angezeigt (inkl. Inhalt).

Hat dazu jemand eine Idee, was da schief läuft?

Ja, eine Idee habe ich.

Als der 1-er Zweig von MLF entwickelt wurde, wurden, zumindest in Mitteleuropa, die MySQL-Datenbanken der Hostingangebote üblicherweise in der Standardkonfiguration aufgesetzt, womit sie als Zeichenkodierung ISO-8859-1 (mit der schwedischen Sortierung (Kollation)) benutzten. Darauf hat sich MLF im 1-er Zweig auch verlassen. Wenn du nun dein Forum damals installiert hast und bei Updates des Webservers auch die Datenbankengine nur aktualisiert und nie neu installiert hast, wurde die technische Struktur der Datenbanktabellen für MLF über die ganze Zeit so belassen, wie sie bei der Installation angegeben wurde.

Bei einem Umzug euf einen neuen Server wurde der Datenbankserver mit den heute üblichen Vorgaben versehen. Dazu gehört als Standardzeichenkodierung utf8 (bis zu drei Bytes pro Zeichen) oder utf8mb4 (bis zu vier Bytes pro Zeichen).

Da MLF1 bei der Verbindungsaufnahme keine für die Verbindung zu benutzende Zeichenkodierung aushandelt, wird nun der Vorgabewert des Servers (utf8 oder utf8mb4) benutzt, obwohl die alten, importierten Inhalte des Forums in ISO-8859-1 vorliegen. Durch die Benutzung des Vorgabewertes für die Zeichenkodierung werden neuen Inhalte in der selben Kodierung geschrieben und gelesen, wodurch sie im Gegensatz zu den importierten Inhalten auch sichtbar sind, wenn du die Postings aufrufst.

Die unterschiedliche Zeichenkodierung kann, je nach Konfiguration des Servers, in der Ausgabe zu verkrüppelten Inhalten oder gar zu keinem Inhalt führen. Eine Lösungsansatz ist, bei der Verbindungsaufnahme auch die Aushandlung der Zeichenkodierung explizit vorzunehmen.

Welche MLF-Version hast du jetzt auf der neuen Maschine installiert?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!


Complete thread:

 RSS Feed of thread