MySQL liefert Error 1366 direkt nach Verbindungsaufbau (mittels MySQL Connector .NET)
Hallo,
in einem C#-Programm kommt der MySQL Connector zum Einsatz.
Direkt nach dem Verbinden mit der Datenbank (ohne dass eine Abfrage durchgeführt wurde) kommt die folgende Fehler:
Dabei handelt es sich um den Fehlercode 1366.
Im Netz gibt es enorm viel zu dieser Fehlermeldung, aber irgendwie kann ich damit nicht wirklich was anfangen...
Die meisten schreiben, dass es mit der Zeichenkodierung zusammenhängt.
Kann mir jemand mehr dazu sagen?
Danke
mabue
in einem C#-Programm kommt der MySQL Connector zum Einsatz.
Direkt nach dem Verbinden mit der Datenbank (ohne dass eine Abfrage durchgeführt wurde) kommt die folgende Fehler:
Incorrect string value: '\xE4ische...' for column 'VARIABLE_VALUE' at row 1
Dabei handelt es sich um den Fehlercode 1366.
Im Netz gibt es enorm viel zu dieser Fehlermeldung, aber irgendwie kann ich damit nicht wirklich was anfangen...
Die meisten schreiben, dass es mit der Zeichenkodierung zusammenhängt.
Kann mir jemand mehr dazu sagen?
Danke
mabue
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 258370
Url: https://administrator.de/forum/mysql-liefert-error-1366-direkt-nach-verbindungsaufbau-mittels-mysql-connector-net-258370.html
Ausgedruckt am: 03.05.2025 um 00:05 Uhr
7 Kommentare
Neuester Kommentar

Moin,
sieht so aus als hättest du in einer Spalte deiner Tabelle einen Wert gespeichert der mit dem Typ dieser Spalte nicht kompatibel ist, und wenn dann MySQL bemerkt das in einer Zeile ein Escape-String wie \xE4 vorkommt(und diese Spalte ist UTF-8 kodiert), der übrigens nicht mit UTF-8 dekodiert werden kann, kommt es zu diesem Fehler. Korrigiere also solche Daten in der Tabelle und wähle bei Bedarf ein binäres Format für die Spalte, je nachdem was darin gespeichert werden soll. Wenn das nicht möglich ist musst du deine Daten in der Spalte "serialisieren" mit serialize().
Gruß jodel32
sieht so aus als hättest du in einer Spalte deiner Tabelle einen Wert gespeichert der mit dem Typ dieser Spalte nicht kompatibel ist, und wenn dann MySQL bemerkt das in einer Zeile ein Escape-String wie \xE4 vorkommt(und diese Spalte ist UTF-8 kodiert), der übrigens nicht mit UTF-8 dekodiert werden kann, kommt es zu diesem Fehler. Korrigiere also solche Daten in der Tabelle und wähle bei Bedarf ein binäres Format für die Spalte, je nachdem was darin gespeichert werden soll. Wenn das nicht möglich ist musst du deine Daten in der Spalte "serialisieren" mit serialize().
Gruß jodel32

Ich vermute das ist die Tabelle zu der du eine Verbindung herstellst. Der Wert der Spalte der in der Fehlermeldung genannt wird
Gruß jodel32
'\xE4ische...'
sollte dir eigentlich genügend Hinweis liefern. Suche nach "ische".Gruß jodel32

und was passiert wenn du mal eine neue DB mit einer neuen Tabelle anlegst, tritt das Verhalten dann dort auch auf ?

gibst du im Verbindungsstring zur Datenbank das Character-Encoding mit ? (characterEncoding=utf8)
was zeigt dir ein
Hier wird das Problem ausführlich diskutiert:
http://bugs.mysql.com/bug.php?id=54425
Folgender Abschnitt ist interessant:
[21 Jul 2010 9:37] Martin Kirchner
Gruß jodel32
was zeigt dir ein
SHOW VARIABLES
in einer MySQL Konsole ?Hier wird das Problem ausführlich diskutiert:
http://bugs.mysql.com/bug.php?id=54425
Folgender Abschnitt ist interessant:
[21 Jul 2010 9:37] Martin Kirchner
I could solve the problem with the encoding problem by switching my system's timezone from "Mitteleuropäische Sommerzeit" (Central european summer time) to UTC.