Hallo Liebe selfhtml-Gemeinde,
ich habe ein echte Problem, wo ich nicht weiter komme.
Mir liegt ein String mit base64 Codierung vor. Der zugehörige Zeichensatz ist UTF-8 (der String stammt aus einer E-Mail (eml-Datei), welcher extrahiert wurde).
Dieser muss aber in Klartext in die Datenbank geschrieben werden, sprich ich muss eine base64 Decodierung machen. Das ist alles noch kein Problem.
Der Decodierte String enthält aber einige Zeichen, die es mir nicht möglich machen, diesen in die SQL-Datenbank zu schreiben, weil der Query immer unterbrochen wird.
Ich habe schon alles mögliche versucht mit str_replace oder mit Hilfe der Multibyte Funktionen. Alles erfolglos.
Vielleicht habt ihr einen Ansatz, wie ich es schaffe, dass der String später ohne Probleme in Klartext in der Datenbank enthalten ist.
Hier mein base64-String:
$text ="
VGhpcyBpcyBhbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBEZWxpdmVyeSBTdGF0dXMgTm90aWZpY2F0aW9uLiAAIABEZWxpdmVyeSB0byB0aGUgZm9sbG93aW5nIHJlY2lwaWVudHMgZmFpbGVkLiAAIAAgICAgICAgdGVzdHRlc3R0QHRlc3Rlc3QuY28gACAAIAAgAA0KDQo=";
$Text2 = base64_decode($text);
Wird jetzt versucht, mittels SQL-Insert $Text2 in die DB zu schreiben, fällt das Statement hin und produziert folgende Fehlerausgabe:
Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY000]: General error: 10007 Falsche Syntax in der Nähe von 'This is an automatically generated Delivery Status Notification. '. [10007] (severity 5) [(null)]
Ich wäre euch sehr dankbar, wenn ihr mir irgendwie helfen auf die Sprünge helfen könntet. Wenn Ihr noch ein paar Infos benötigt, nur raus damit.
Mit freundlichen Grüßen
Frank