Umlaute erhalten Zeichensatzkonvertierung Latin1 nach UTF8 für vBulletin

Um eine vBulletin Datenbank mit einem Zeichensatz Latin1 nach UTF8 zu konverieren, sind einige Schritte notwendig.

1. Wartungsmodus

Zuerst den Wartungsmodus aktivieren, damit innerhalb der Umstellung kein neuer Inhalt mehr angelegt werden kann.

2. Backup

Vorher auf jeden Fall ein Backup der Datenbank und aller Dateien machen! Wenn was schief geht, kann man dann ohne grossen Aufwand wieder den alten Projektzustand herstellen.

3. Exportieren der Daten

Wir exportieren die Daten mit der Anweisung, dass keine Zeichensatz Eigenschaften mit exportieren werden und erzwingen den Export mit latin1

mysqldump --default-character-set=latin1 --skip-opt --skip-set-charset DATENBANK_NAME > dump_latin1.sql

4. Konvertieren des Datenbank Dumps

Mit dem Programm iconv führen wir nun die Konvertierung des Dump von Latin1 nach UTF8 durch.

iconv -f ISO-8859-1 -t UTF-8 dump_latin1.sql  > dump_utf8.sql

5. Importieren der Daten

Mit dem MySQL Client importieren wir nun den Dump mit der Anweisung, dass es sich um UTF8 Daten handelt

mysql -u XXX --password=XXX --default-character-set=utf8 XXX < dump_utf8.sql

6. Anpassen der config.php

Nun passen wir die includes/config.php Datei und teilen darin vBulletin mit, dass wir nicht latin1, sondern UTF8 verwenden.

$config['Mysqli']['charset'] = 'utf8';

Diese Zeile ist schon vorhanden, man muss nur die Auskommentierung entfernen. In Verbindung mit UTF-8 sollte immer PHP MySQLi verwendet werden (und nicht PHP MySQL)

Unsere Empfehlung:

Image of Building Forums with Vbulletin
Hersteller.: Packt Publishing

7. Datastore und die Bitfelder neu erstellen

Jetzt ist es notwendig, dass man den vBulletin Datastore und die Bitfelder neu erstellt. Dazu muss man aus der vBulletin Archivdatei, die man aus dem vBulletin Kundenbereich herunterladen kann, die Datei tools.php in das Verzeichnis admincp/ kopieren. Wichtig ist auch, dass das Verzeichnis install/ mit Inhalt vorhanden sein muss. Dieses Verzeichnis findet man auch in der vBulletin Archivdatei unter upload/install.
Nachdem dann alle notwendigen Dateien am richtigen Ort liegen, für man über den Webbrowser die URL http://www.meinedomain.de/admincp/tools.php aus. Nach Eingabe der Kundennummer bekommt man eine Auflistung verschiedener Funktionen.
Im Abschnitt Datastore-Cache findet man drei Punkte: [Benutzergruppen/Foren], [vBulletin-Einstellungen] und [Bitfelder]. Führe alle drei Funktionen aus.
Danach kannst Du die Datei admincp/tools.php und das Verzeichnis install/ wieder vom Server löschen, da diese ein Sicherheitsrisiko darstellen.

8. Spracheinstellung anpassen

Jetzt meldet man sich im Adminbereich an und ändert unter Sprachen & Phrasen / Sprachen verwalten den HTML-Zeichensatz von allen bestehenden Sprachen auf UTF-8.

9. Sprachdatei neu importieren

Zum Abschluss müssen jetzt alle Sprachdateien neu im Admin-Bereich importiert werden. Dies kann man unter dem Punkt Sprachen & Phrasen / Sprachen hochladen/herunterladen finden. Falls man manuell Anpassungen gemacht hat, müssen diese wiederholt werden.

Nachdem alle Punkte durchgearbeitet wurden, sollte das Forum mit UTF-8 laufen und alle Umlaute richtig anzeigen. Falls etwas schief gelaufen ist, sollte man sich am besten nochmal in ruhe die einzelnen Schritt verinnerlichen und gegebenenfalls überlegen, ob bestimmte Befehle Anpassungen erfordern, weil die eigene Umgebung von einer "Standard"-Umgebung abweicht (was man auch unter Standard verstehen mag).
Es kann auch vorkommen, dass ein Plugin nicht mehr richtig arbeitet. Um Fehler von Plugins auszuschliessen, fügt man in der includes/config.php folgende Zeile ein:

define ( 'DISABLE_HOOKS', true);

Falls weiterhin die Probleme nicht zu lösen sind, empfiehlt es sich vorerst wieder das Backup einzuspielen und danach das Forum wieder in den Online-Modus zu schalten.

Falls alles gut gelaufen ist, kann jetzt natürlich der Wartungsmodus wieder deaktiviert werden.

Disclaimer

Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildung und Programmen verwendet wurde, kann der Autor für mögliche Fehler und deren Folgen keine juristische Verantwortung oder irgendeine Haftung übernehmen.
Der Artikel enthält eventuell Links zu anderen Seiten im Internet auf deren Inhalt und Design wir keinen Einfluss haben. Der Autor erklärt hiermit ausdrücklich, dass zum Zeitpunkt der Linksetzung keine illegalen Inhalte auf den zu verlinkenden Seiten erkennbar waren. Auf die aktuelle und zukünftige Gestaltung, die Inhalte oder die Urheberschaft der verlinkten/verknüpften Seiten hat der Autor keinerlei Einfluss. Deshalb distanziert er sich hiermit ausdrücklich von allen Inhalten aller verlinkten /verknüpften Seiten, die nach der Linksetzung verändert wurden.

Falls Sie an unseren Leistungen interessiert sind, kontaktieren Sie uns. © Copyright, AlphaNodes GmbH - alle Rechte vorbehalten.