Seite 1 von 1
Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 17:19
von Holger
Hallo!
Ich habe gerade ein Forum von phpBB2 auf phpBB 3.0.10 konvertiert, "innerhalb" eines Servers, mit der gleichen DB.
Alles lief absolut glatt und gut, BIS auf die Umlaute.
Die sind nun futsch und werden nur kryptisch dargestellt.
Gibt es ein Tool, mit dem ich ein Suchen/Ersetzen machen könnte?
Gruss
Holger
Re: Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 18:25
von oxpus
Öhm, wie hast du denn das Update durchgeführt?
Mit dem original Konverter des phpBB 3?
Dann sollten eigentlich die Zeichenkodierungen stimmen.
Welche Zeichenkodierung hatten denn die Tabellen im ursprünglichen Forum?
Was das zufälligerweise auf UTF-8 eingestellt?
Dann gibt es klar Probleme...
Re: Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 19:01
von Holger
Ja, ich habe mit dem eingebauten Converter konvertiert.
Hm, ich weiss nicht, welche Kodierung die Tabellen vor hattten.
Aber in phpBB2 wurde alles korrekt angezeigt.
Wenn es auf UTF-8 eingestellt ist, was muss ich dann tun?
Es ist ein schwedisches Forum, uns wird eigentlich immer UTF-8 und BOM empfohlen ... aber das gilt vielleicht nur für Dateien?
Re: Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 21:06
von oxpus
Öhm, die Tabellen sollten latin1 eingestellt sein, wenn sie von einem phpBB 2 verwendet werden.
Nur dann kann der Konverter auch korrekt arbeiten.
Sind die aber bereits auf UTF-8, kodiert der Konverter ja noch einmal und dann erst recht falsch.
Es wäre dann auch deutlich mühsamer, wenn nicht komplett unmöglich, diese Fehlzeichen zurück zu verwandeln.
Daher besser immer versuchen, die Konvertierung in diesem Punkt sauber abzuschliessen.
Re: Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 22:45
von Holger
phpBB2: Collation utf8_unicode_ci
phpBB3: Collation utf8_bin
Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Hoster: Hostgator
Hintergrund: der Forumbesitzer hat das Forum von einem Freeforum-Anbieter, der aufhört, zu Hostgator transferieren lassen. Da es danach grosse Probleme gab, habe ich das Forum zu phpBB3 konvertiert. Danach waren die Umlaute weg.
Re: Probleme mit der Zeichenkodierung
Verfasst: Do 12.Jan, 2012 22:48
von Holger
Kann ich denn über die Operationen (Tabellenoptionen) in phpMyAdmin auf latin1 ändern? Oder per SQL-Befehl?
Re: Probleme mit der Zeichenkodierung
Verfasst: Fr 13.Jan, 2012 02:28
von oxpus
Wenn es eilig ist, würde ich die Datenbank des alten Forums erst umziehen lassen (neben dem Forum selber, versteht sich), um dann in Ruhe die Konvertierung durchführen zu können
Zum Thema Datenbank-Tabellenkodierung:
Unter phpmyadmin kann man, wenn man die Tabelle geöffnet hat (sich also die Datensätze anschauen kann) in der oberen Funktionsleiste mit "Operationen" alle Eigenschaften der betreffenden Tabelle anpassen. So auch den Zeichensatz.
Ich kenne jetzt nicht den SQL-Befehl direkt auswendig, um den Zeichensatz einer Tabelle zu ändern, aber mit phpmyadmin geht das auch recht gut (okay, bei vielen Tabellen dauert das dann eine Weile). Und vor allem: Sicher und fehlerfrei...
Nichts desto trotzt erst ein Backup des bestehenden Forums, bzw. dessen Datenbank machen, bevor man irgend etwas an den Tabellen ändert!
Wenn es zu einem Fehler kommen sollte oder die Inhalte dadurch (warum auch immer) weiter zerstört werden, hat man keine Chance, das dann rückgängig zu machen, wenn man nicht vorher ein Backup erstellt hat...
Re: Probleme mit der Zeichenkodierung
Verfasst: Fr 13.Jan, 2012 08:39
von Holger
oxpus hat geschrieben:Wenn es eilig ist, würde ich die Datenbank des alten Forums erst umziehen lassen (neben dem Forum selber, versteht sich), um dann in Ruhe die Konvertierung durchführen zu können
Hm? Das phpBB2-Forum ist bereits umgezogen, und die Texte sind in Ordnung.
Re: Probleme mit der Zeichenkodierung
Verfasst: Fr 13.Jan, 2012 16:48
von oxpus
Ah so, ich dachte das Forum liegt noch auf dem "alten" Provider-Server.
Nun wie gesagt: Zeichenkodierung der Tabellen ändern auf latin1 und dann erneut versuchen.
Das sollte dann klappen.