/ / TBlobField (<Feld>) SaveToStream schneidet das letzte NULL-Zeichen mit Delphi 2010 - Blob, Delphi-2010

TBlobField (<Field>). SaveToStream schneidet den letzten NULL Char mit Delphi 2010 - Blob, Delphi-2010

Wenn ein Blob ein RTF enthält, das mit einem NULL-Zeichen endet, schneidet Delphi 2010 dieses Zeichen, wenn ich SaveToStream oder SaveToFile tue

Gibt es eine Möglichkeit, dieses Verhalten zu ändern?

Es ist ein Problem für mich, weil ich einen Hash für diese Felder berechne. Mit Delphi 2010 habe ich dieses Problem aber nicht mit Delphi 2007! und so Hash-Ergebnis ändern ....

Antworten:

0 für die Antwort № 1

Ok, ich habe festgestellt, wenn der Fehler erscheint:

  1. Delphi 2010
  2. Firebird DBMS
  3. TIBDatabase Objekt haben die charset Eigenschaft (in mein Fall zum Beispiel lc_ctype = ISO8859_1)

Wenn ich Entferne den Zeichensatz, die sichere Methode funktioniert gut!

Andere Informationen:
- Ich benutze Firebird Datenbank
- Das Blob-Feld ist ein Blob-Subtype-Text
- Der Wert ist ein rtf und sein Terminator ist ein Nullzeichen

HINWEIS: Wenn der Zeichensatz entfernt wird, ist der Text in Blob-Feldern nicht korrekt lesbar. Die einzige Lösung, die ich gefunden habe, ist, das Blob in Varchar direkt in die Abfrage zu schreiben