Zur Navigation

Datenbank umstellen auf UTF8 nach Foren-Upgrade auf JKBB 2.0

1 Jörg Kruse

Zitat von Gabi
Das Datenbank-Update scheint nun zwar geklappt zu haben (wobei im phpMyAdmin in den Tabellen immer noch Kollation: latin1_german2_ci steht, obwohl ich eigentlich erwartet hatte, dass da jetzt irgendwas in Richtung utf-8 steht, aber sei's erst mal drum).

Das ist nur bei Neuinstallationen der Fall, bei einem Upgrade bleibt das alte Encoding der Datenbanktabellen erhalten. Solange nur Zeichen aus latin1 gespeichert werden, reicht das auch aus - MySQL konvertiert die Zeichen in UTF8. Falls auch Zeichen gespeichert werden sollen, die nicht in latin1 enthalten sind, sollten die Datenbanktabellen in utf8 konvertiert werden.

------------------------------------------------

Zitat von Gabi
Solange nur Zeichen aus latin1 gespeichert werden, reicht das auch aus - MySQL konvertiert die Zeichen in UTF8.

Ach so.

Falls auch Zeichen gespeichert werden sollen, die nicht in latin1 enthalten sind, sollten die Datenbanktabellen in utf8 konvertiert werden.

Wie würde man das machen? z.B.Beim Einlesen (phpMyAdmin > SQL > Datei einlesen) Zeichencodierung der Datei einfach uft-8 auswählen? (Antwort eilt nicht/nicht so wichtig - wäre vielleicht nur interessant, weil ich gerade mal dabei bin...)

Hier hat jemand eine solche Konvertierung in Bezug auf Typo3 beschrieben:

http://blog.markusgiesen.de/2007/07/29/typo3-mysql-datenbank-auf-utf-8-umstellen/

Hier könnte man ähnlich verfahren

Also mit phpMyAdmin die Datenbanktabellen exportieren. WICHTIG: Den resultierenden Dump zur Sicherheit kopieren, falls was schief läuft, so dass du dann den Original-Dump wieder einspielen kannst; die Kopie bearbeitest du mit einem Editor und entfernst dabei folgende Strings:

COLLATE latin1_german2_ci
DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci

Dann löschst du die alten Datenbanktabellen, und stellst die Datenbank auf UTF8 um, und importierst schließlich den bearbeiteten Dump.

Abschließend testen, ob Zeichen wie Umlaute im Forum richtig dargestellt und eingefügt werden.

29.08.2011 19:07 | geändert: 29.08.2011 19:10

2 Gabi

Danke! Das probiere ich dann gelegentlich mal so.

30.08.2011 06:45

3 Jörg Kruse

Besser wäre es noch, wenn du eine neue Datenbank anlegen kannst und diese auf UTF8 einstellst und dort den angepassten Dump importierst. In der /includes/config.php musst du dann nur die neuen Verbindungsdaten einfügen. Vorteil wäre hierbei, dass du die alte Datenbank nicht sofort leeren musst und bei Problemen leichter zurückkehren kannst (einfach durch Ändern der Verbindungsdaten). Vorteil 2: falls die alte Datenbank noch auf einer älteren MySQL-Version läuft, kann man so bei der Gelegenheit auch gleich auf eine neuere MySQL-Version wechseln.

30.08.2011 10:06 | geändert: 30.08.2011 10:09

4 Gabi

Ja, danke, das habe ich auch so gemacht. Für mein Testforum hatte ich jetzt schon eine neue Datenbank mit MySQL 5 und UTF-8 angelegt. Deshalb war ich überrascht, dass es keine Probleme gab, obwohl die Tabellen noch Latin1 sind. lächel

30.08.2011 18:53

Nur Mitglieder können in diesem Forum Antworten schreiben.

Login | Registrieren