PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umstellung auf UTF-8


Nuramon
30.01.2008, 16:26
Hallo zusammen,

Da wir in Zukunft auch andere Sprachen als Deutsch unterstützen wollen habe ich heute mit der Umstellung des vBulletin-Forums auf UTF-8 begonnen.

Folgendes habe ich bis jetzt gemacht:
- Bestehende Datenbank exportiert und als UTF-8 wieder eingespielt.
- Die XML-Files der Sprache als UTF-8 eingefügt
- Für jede Sprache als HTML-Charset UTF-8 eingetragen

Soweit, so gut. Bis hierhin funktioniert auch alles so wie es sollte. Nur werden leider jegliche Sonderzeichen innerhalb der Beiträge als ? dargestellt. Also habe ich im includes/config.php das mySQL-Verbindungs-Charset auf auf UTF-8 gesetzt, nämlich durch folgende Zeile:

$config['Mysqli']['charset'] = 'utf8';Nun, jetzt funktioniert gar nicht's mehr. Es erscheint folgende Meldung:

Warnung: array_keys() [function.array-keys (http://www.contrexx.com/forum/function.array-keys)]: The first argument should be an array in /includes/functions.php (Zeile 3863)

Warnung: Invalid argument supplied for foreach() in /includes/functions.php (Zeile 3863)

Sobald ich die betreffende Zeile im config-File wieder auskommentierte läuft's wieder. Kann sich das jemand erklären?

Ach übrigens, ich verwende die neueste Version 3.6.8 Patch Level 2 auf PHP 5.2.4 mit mySQL 5.0.48.

Cheers
Thomas

Mystics
30.01.2008, 21:53
Wenn dieser Fehler kommt, bearbeite im Admin-Kontrollzentrum mal ein Forum und speichere es (du musst nichts ändern).Nur werden leider jegliche Sonderzeichen innerhalb der Beiträge als ? dargestellt. Sprichst du von neuen Beiträgen nach der Umstellung oder von bestehenden Beiträgen?

Nuramon
31.01.2008, 13:09
Hallo Mystics,

Wenn dieser Fehler kommt, bearbeite im Admin-Kontrollzentrum mal ein Forum und speichere es (du musst nichts ändern).
Vielen Dank für Deinen Input. Dein Vorschlag hat zwar nicht direkt funktioniert, allerdings hat er mich auf die richtige Spur geführt. Das Problem bestand darin, dass die DB-Tabelle datastore nach der Umstellung auf UTF-8 nicht mehr gelesen werden konnte.

Ich denke darauf wolltest Du mit Deinem Vorschlag (Änderung am Forum) auch hinaus: ein neues Schreiben des Caches. Dies konnte ich so leider nicht umsetzen, da ich nicht mehr in den AdminCP kam.

Mit der Verwendung der tools.php aus dem Download-Paket (do_not_upload/tools.php) konnte ich den Cache schliesslich nach der Umstellung auf UTF-8 neu schreiben lassen. Und sogleich funktioniert alles wieder wie gewünscht.

Danke für die Hilfe & beste Grüsse
Thomas