Einzelnen Beitrag anzeigen

sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

unicode_fss-konvertierung

  Alt 19. Jun 2006, 19:38
Datenbank: firebird 1.5 • Zugriff über: ibx, ibexpert
hallo,

ich habe folgendes problem:

ich lese daten mit tstringfield - komponenten aus einer paradox-tabelle und will diese in einer firebird-datenbank speichern.

die char-felder in der paradox-tabelle sind 1-byte-chars, die in der firebird-tabelle sind in unicode_fss.

habe zuerst probiert, für die firebird-tabelle twidestringfield - komponenten zu nehmen.
das geht aber nicht, da firebird scheinbar die felder selbst als 1-byte-chars versendet (scheinbar spaltet der die 2-byte-zeichen auf)..jedenfalls bekomm ich immer eine exception, schon wenn ich nur die firebird-datenbank öffne, dass das feld vom typ string ist, aber widestring erwartet wird.

wenn ich stattdessen tibstringfield - komponenten verwende, klappt zwar das übertragen der daten von der einen tabelle in die andere, aber umlaute und sonderzeichen werden falsch 'konvertiert'

zumindest bei einem bloßen:

Delphi-Quellcode:
var
  ibsf: TIBStringField;
  sf: TStringField;
  
  ibsf.AsString := sf.AsString;
Wie bekomme ich es hin, dass der in ibsf das widestring-äquivalent von sf speichert?
wenn firebird diesen unicode_fss - zeichensatz hat, muss es doch auch möglich sein, da widestrings zu speichern, oder?

danke,

martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat