Zum Inhalt springen

UTF8 Umstellung wirft #102 nach DB-insert/DB-Update

Erstellt am 8. Mai 2008 · 3 Antworten · letzte Antwort am 16. September 2008

Tags: Datenbank, Frage

Duke ·

Hallo alle Zusammen,

ich habe ein riesiges Problem mit einer Typo3-Umstellung bei dem ich echt nicht mehr weiter komme:

Ein Kunde verlangte ein 2 Jahre altes System auf eine russische Version zu erweitern.
Ich habe hierfür diverse Anleitungen durchgelesen und studiert und das System zuvor noch erfolgreich von vs 3.6 auf 4.1.6 erweitert,; doch UTF8 bekomme ich für Russisch einfach nicht hin.
Das speichern des Contents im RTE erscheint hier absolut willkürlich, einmal geht es, 10 mal geht es nicht.

Folgende Einstellungen wurden vorgenommen:

1. localconf.php

//UTF-8
$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS[SYS][setDBinit] = 'SET NAMES utf8;';

2.install Tool - All Conf:

[SYS][multiplyDBfieldSize] = 3
[SYS][setDBinit] = SET NAMES utf8;
[BE][forceCharset] = utf-8

3. t3lib - class.t3li_db.php

    function sql_pconnect(...){
        ...
        $this->admin_query('SET CHARACTER SET utf8');
        return $this->link;
    }

4. Die Datenbank selber wurde vom Provider komplett auf UTF8 umgestellt, auch die Spalte bodytext in tt_content hat UTF8 eine Ausgabe der collations sieht aus wie folgt:

 SQL-Befehl:
SHOW VARIABLES LIKE '%collation%'
vollständige Textfelder
Variable_name             Value
collation_connection     utf8_unicode_ci
collation_database     utf8_general_ci
collation_server     latin1_swedish_ci

Das sind also die Einstellungen die ich vorgenommen habe. Anzeige der "alten" Sonderzeichen funktioniert allse wunderbar, auch wenn ich die russischen Texte direkt per phpadmin eingebe werden sie angezeigt, nur eben das abspeichern neuer Contentblöcke wird immer mit dieser Fehlermeldung quittiert:

102: These fields are not properly updated in database: (bodytext) Probably value mismatch with fieldtype

in die db werden dann die für utf8-fehler so typischen ??? statt meines russischen textes geschrieben.
Hat jemand irgendeine Idee an was das liegen könnte? Mir fällt echt nichts mehr ein und es ist super dringend, da die seite schon heute hätte live gehen sollen....

Bin für jeden Rat dankbar!

Tobi

PS: die Extension utf8-converter habe ich übrigens mit dem selben Resultat auch schon ausprobiert, dort tritt der selbe fehler auf...

ohrlab ·

ich habe exakt das gleiche problem #paralyzed#

hat niemand eine lösung? wie kann ich in meiner website russisch verwenden?

meine db sollte eigentlich richtig konfiguriert sein. wenn ich in phpmyadmin einen russischen text in das texfeld in tt_content eingebe, wird dieser sowohl im FE als auch im BE angezeigt. wenn ich aber im RTE russisch eingebe werden nur fragezeichen gespeichert... :o

ohrlab ·

das problem hat sich bei mir von selbst gelöst.

am tag danach ging alles. das einzige was ich gemacht habe war die utf-8 einstellungen der localconf.php einer anderen installation nochmals rüberkopiert (waren aber die selben einstellungen, zumindest so weit ich gesehen habe...)

also manchmal einfach drüber schlafen #giggle#