[Frage] Plötzliche Fehlermeldung "It looks like the character set utf8 is not used for this connection..." im backend TYPO3-Version: 9.5.22

  • RetoHB RetoHB
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    25. 10. 2021, 19:10

    Ich setze für mehrere Webseiten typo3 9.5.22 ein und bis vor Kurzem hat alles problemlos funktioniert. Doch plötzlich wird im backend die folgende Fehlermeldung angezeigt, ohne dass ich an der Installation etwas geändert habe:

    It looks like the character set utf8 is not used for this connection even though it is configured as connection charset. This TYPO3 installation is using the $GLOBALS['TYPO3_CONF_VARS']['SYS']['setDBinit'] property with the following value: "". Please make sure that this command does not overwrite the configured charset.

    Mein Hoster sagt mir dies sei ein bug in typo3, sie hätten nichts geändert. Ich solle auf typo3 10 updaten. Dies ist jedoch nicht möglich, da einige Extensions die ich verwende noch nicht auf typo3 10 funktionieren. Gibt es eine Möglichkeit das Problem ohne ein update auf typo3 10 zu lösen?

  • Hilfreichster Beitrag

  • 1 x
    3263 Beiträge
    156 Hilfreiche Beiträge
    01. 11. 2021, 18:14 - Hilfreichster Beitrag

    Ich bin etwas irritiert. Du gibst an, dass Du mit TYPO3 9.5 arbeitest, der Konfigurationsparameter "setDBinit" flog aber mit v9.0 bereits raus ( https://docs.typo3.org/c/typo3/cms-core/9.5/en-us/Changelog/9.0/Breaking-82421-DroppedOldDBRelatedConfigurationOptions.html )...
    Kann es sein, dass der noch irgendwo in einer Konfigurationsdatei von Dir steht, und TYPO3 über diesen (überflüssigen) Wert stolpert?

    Die Konfiguration von setDBInit wurde bereits in TYPO3 v8 als "deprecated" eingestuft und an andere Stelle migriert: SYS/setDBinit -> DB/Connections/Default/initCommands
    Normalerweise hätte das auch bei einem Upgrade automatisch migriert werden sollen...
    https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.1/Breaking-75454-LocalConfigurationDBConfigStructureHasChanged.html

    DB/Connections/Default/initCommands wäre dann auch die Stelle, an der Du ggf. das Charset der DB-Connection anpassen kannst.


  • 1
  • 1 x
    3263 Beiträge
    156 Hilfreiche Beiträge
    01. 11. 2021, 18:14

    Ich bin etwas irritiert. Du gibst an, dass Du mit TYPO3 9.5 arbeitest, der Konfigurationsparameter "setDBinit" flog aber mit v9.0 bereits raus ( https://docs.typo3.org/c/typo3/cms-core/9.5/en-us/Changelog/9.0/Breaking-82421-DroppedOldDBRelatedConfigurationOptions.html )...
    Kann es sein, dass der noch irgendwo in einer Konfigurationsdatei von Dir steht, und TYPO3 über diesen (überflüssigen) Wert stolpert?

    Die Konfiguration von setDBInit wurde bereits in TYPO3 v8 als "deprecated" eingestuft und an andere Stelle migriert: SYS/setDBinit -> DB/Connections/Default/initCommands
    Normalerweise hätte das auch bei einem Upgrade automatisch migriert werden sollen...
    https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.1/Breaking-75454-LocalConfigurationDBConfigStructureHasChanged.html

    DB/Connections/Default/initCommands wäre dann auch die Stelle, an der Du ggf. das Charset der DB-Connection anpassen kannst.

  • RetoHB RetoHB
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    01. 11. 2021, 19:31

    Danke für Deine Antwort Julian! Ich gebe Dir recht, das ist etwas verwirrend. Aber steht in der Fehlermeldung vielleicht immer dieser Standardtext, sobald etwas mit dem Charset nicht stimmt?

    Ich nehme an DB/Connections/Default/initCommands bezieht sich auf die LocalConfiguration.php?

    Die sieht bei mir so aus, da gibt es keinen initCommands Wert:

    [code]'DB' => [
    'Connections' => [
    'Default' => [
    'charset' => 'utf8',
    'dbname' => 'dbXXXXXX',
    'driver' => 'mysqli',
    'host' => '127.0.0.1',
    'password' => 'XXXXXX',
    'port' => 3306,
    'user' => 'XXXXXX',
    ],
    ],
    [/code]

  • 1 x
    3263 Beiträge
    156 Hilfreiche Beiträge
    02. 11. 2021, 09:06

    Ähm, kannst Du mal Dein Projekt nach der Meldung durchsuchen?

    Hatte eben mal nach der Meldung bzw. Teilen davon im aktuellen Core v9 gesucht, um ggf. Details rausfinden zu können. Ich finde den Text aber im Core gar nicht...

    Evtl. kommt das aus einer Extension?

  • RetoHB RetoHB
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    02. 11. 2021, 15:38

    Das wars! Danke Julian! Die Fehlermeldung kommt aus der Extension typo3db_legacy. Die brauche ich, weil ich damals den Weg nach Templavoila Plus abgebogen bin. Vielleicht rückblickend keine gute Entscheidung, da es bisher noch keine Lösung für typo3 10 gibt...

    Ich habe jetzt in typo3db_legacy diese Exception auskommentiert. Scheint soweit zu funktionieren, wohl ist mir aber nicht dabei. Gibt es eine bessere Lösung für die bestehende Installation?

    Gesetzt wird die Exception von:

    if ($charsetVariables[$variableName] !== $this->connectionCharset) {
    $hasValidCharset = false;
    break;
    }

  • 1 x
    3263 Beiträge
    156 Hilfreiche Beiträge
    02. 11. 2021, 17:59

    Na, das klingt doch schon mal gut :-)

    Einfallen würde mir auf alle Fälle man ein Versions-Check. Welche Version von typo3db_legacy nutzt Du? Gibt's evtl. ein Update?

    einen Blick wäre auch wert, die Charset Einstellungen zu kontrollieren. Gerade in etwas älteren Projekten verstecken sich da manche Fehlerchen, die man früher halt nicht besser konnte/wusste. Ggf. hilft da ein Glattziehen udn sauberes Durchkonfigurieren.

    Nebenbei: auf https://github.com/FriendsOfTYPO3/typo3db_legacy hab ich gerade die Commit-Message "[TASK]Declare compatibility with TYPO3 v11" gelesen. Vielleicht hilft Dir das auch auf dem Weg des Upgrades...

  • RetoHB RetoHB
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    03. 11. 2021, 08:36

    Ich verwende schon die neuste Version. Meine finale Lösung ist, in der Extension die Zeile '$this->checkConnectionCharset();' auszukommentieren. Die Extension soll das Charset gar nicht überprüfen.

    Nochmals vielen Dank für Deine Hilfe!

  • 1