Se un blob contiene un rtf che termina con NULL char, delphi 2010 taglia questo carattere quando faccio SaveToStream o SaveToFile
C'è una possibilità di cambiare questo comportamento?
È un problema per me perché calcolo un hash su quei campi. Con Delphi 2010 ho questo problema ma non con Delphi 2007! e così il risultato dell'hash change ...
risposte:
0 per risposta № 1Ok, ho trovato quando appare il bug:
- Delphi 2010
- Firebird DBMS
- L'oggetto TIBDatabase ha la proprietà charset (in il mio caso per esempio LC_CTYPE = ISO8859_1)
Se io rimuovere il set di caratteri, il metodo di salvataggio funziona bene!
Altre informazioni:
- Io uso il database di Firebird
- Il campo blob è il testo del sottotipo blob
- Il valore è un rtf e il suo terminatore è carattere nullo
NOTA: Quando rimuovi il set di caratteri, il testo nei campi BLOB non è leggibile correttamente, l'unica soluzione che ho trovato è il blob in varchar lanciato direttamente nella query