Projekt

Allgemein

Profil

Aktionen

Bug #230

offen

[Bugsink] TYPO3\CMS\Extbase\Persistence\Generic\Storage\Exception\SqlErrorException: An exception occurred while executing a query: Incorrect string value: '\x…

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
12.09.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/15fa8a05-b43e-44c2-a1b4-8880d4eb21f6/event/last/

Typ: NEW issue

Projekt: www-verl-de

Bugsink Alert

TYPO3\CMS\Extbase\Persistence\Generic\Storage\Exception\SqlErrorException: An exception occurred while executing a query: Incorrect string value: '\x…


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers

1. Ursache identifiziert

Der MySQL-Fehler mysqli_sql_exception: Incorrect string value: '\xC0\xA7\xC0\xA2%2...' zeigt, dass ein URL-Request eingeht, der ungültige UTF-8-Byte-Sequenzen enthält (\xC0\xA7\xC0\xA2). Diese Bytes sind kein gültiges UTF-8 – sie stammen höchstwahrscheinlich aus einer anderen Zeichenkodierung (z.B. GBK/GB2312 für chinesische Zeichen oder fehlerhaft doppelt-kodiertes UTF-8).

Der Fehler tritt in der TYPO3-Core-Middleware NormalizedParamsAttribute (Schicht 8 im Stacktrace) auf, die eingehende Request-Parameter normalisiert und diese (wahrscheinlich über eine Datenbank-Einfügung oder einen Lookup) verarbeitet. Die Spalte url in der betroffenen Datenbanktabelle ist als utf8/utf8mb3 definiert und lehnt die ungültigen Bytes ab.

Kernproblem: Fehlende utf8mb4-Kodierung auf Datenbank-/Tabellen-/Spaltenebene kombiniert mit einem ungültigen Request-URL.

2. Fix (konkret)

Schritt 1 – Datenbank-Verbindung und Tabelle auf utf8mb4 umstellen:

-- Datenbank-Verbindung charset in LocalConfiguration.php sicherstellen:
// 'DB' => [
//     'Connections' => [
//         'Default' => [
//             'charset' => 'utf8mb4',
//         ],
//     ],
// ],

-- Tabelle konvertieren (beispielhaft, je nach betroffener Tabelle):
ALTER TABLE [betroffene_tabelle] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Oder nur die Spalte:
ALTER TABLE [betroffene_tabelle] MODIFY url VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Schritt 2 – Eingabedaten sanitizieren:

In der betroffenen Stelle (Middleware oder Extension, die die URL in die DB schreibt) vor der Einfügung prüfen:

// Unzureichende UTF-8-Sequenzen entfernen oder konvertieren:
$cleanUrl = mb_convert_encoding($url, 'UTF-8', 'UTF-8');
// Oder aggressiver:
$cleanUrl = iconv('UTF-8', 'UTF-8//IGNORE', $url);

Schritt 3 – MySQL-Session-Charset prüfen:

-- Sicherstellen, dass der MySQL-Server korrekt konfiguriert ist:
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
-- character_set_client, character_set_connection, character_set_results sollten utf8mb4 sein

3. Betroffene TYPO3 Extension

  • Primär: TYPO3 Core (ext:core) – speziell die Middleware TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute und das zugrunde liegende Datenbank-Subsystem
  • Die betroffene Tabelle mit der Spalte url ist höchstwahrscheinlich:
    • sys_redirect (ext:core) – falls Redirects verarbeitet werden, oder
    • Eine Drittanbieter-Extension (z.B. seo, realurl-Nachfolger, oder eine individuelle Extension, die URL-Tracking betreibt)
  • Ohne exakten Tabellennamen aus dem Stacktrace lässt sich die spezifische Extension nicht mit 100% Sicherheit benennen

4. Confidence

85% – Die Ursache (UTF-8-Mismatch + ungültige Bytes) ist eindeutig diagnostiziert. Die exakte betroffene Tabelle/Extension lässt sich ohne vollständigen Fehlerlog (mit Tabellennamen) nicht mit voller Sicherheit benennen. Die empfohlenen Fixes sind jedoch universell anwendbar und lösen das Problem.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF