Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

In Firebird Blob-Text-Felder mit UTF-8 schreiben

  Alt 13. Apr 2012, 18:52
Datenbank: Firebird • Version: 2.1 • Zugriff über: UniDAC
Hallo,

bin fast am Durchdrehen und bekomme so langsam das Gefühl, als ab Firebird der letzte Mist ist. Seit Anfang an habe ich hier und da Probleme mit FB und Bugs tauchen auf. Nunja.

Momentan versuche ich, in ein Blob-Feld (Blob, Sub_Type Text, Segment Size 80, UTF-8) einen einfachen String wie zB "ääää" zu schreiben. Gespeichert wird immer nur "????".

In VarChar-Felder funktioniert das alles richtig. Einen Blob möchte ich dann später dafür benutzen, ganz lange Texte zu speichern.

Mein Connect sieht so aus:

Delphi-Quellcode:
Connection.SpecificOptions.Values['Charset'] := 'UTF8';
Connection.SpecificOptions.Values['UseUnicode']:='True';
Connection.SpecificOptions.Values['EnableMemos']:='True';
Connect();
Und speichern geschieht auf folgendem Weg. Wobei ich schon mit "DataType" (ftBlob, ftMemo, ftWideMemo) gespielt habe:

Delphi-Quellcode:
if (fParameter[i].datatype = 'Blob') then
begin
  Query.ParamByName(fParameter[i].fieldname).DataType:=ftBlob
  Query.ParamByName(fParameter[i].fieldname).AsString:=fParameter[i].value;
end;
Könnt ihr mir bitte einen Tipp geben? Und vor allem: Ist Firebird wirklich so schlecht, wie ich mittlerweile das Gefühl habe, oder gehe ich damit nur falsch um? Oder hätte ich vielleicht besser bei MySQL (embedded) bleiben sollen?

Danke im Voraus!
  Mit Zitat antworten Zitat