Hallo,
es ist also eine normale dBase-iii-Datei, ohne Zeichensatz-Kennzeichnung. Mit Direct=TRUE interpretiert Unidac die Daten und konvertiert in dieser Konstellation aus dbf-Format und Codepage (3/0) vermutlich garnichts. Bei Direct=FALSE erfolgt der Zugriff über einen
ODBC-dBase-Treiber und der Treiber ist für die Konvertierung verantwortlich. Da dBase-iii noch aus DOS-Zeiten stammt, werden dann vermutlich alle Eingabedaten als
ASCII interpretiert.
Leider kann ich "Direct=FALSE" bei mir nicht testen, da ich dann immer Fehlermeldungen erhalte. (Da ich es nicht benötige, ich greife ausschließlich per "Direct=true" zu, fehlt mir auch die Motivation da etwas zu ändern.)
Testen würde ich folgendes:
Code:
UniTable1.Connection.SpecificOptions.Values['CodePage']:='dpWesternEuropeanANSI';
Da in Deiner ursprünglichen Frage etwas von Foxpro stand, wäre eine zweite Möglichkeit, die betreffende dbf-Datei von Foxpro mit dem richtigen Zeichensatz markieren zu lassen. Eine entsprechende Nachfrage müsste ja kommen, wenn die Datei exklusiv in Foxpro geöffnet wird. Aber dann besteht wieder die Möglichkeit, dass der
Odbc-Standard-dBase-Treiber das nicht kennt und du den Foxpro-
Odbc-Treiber installieren musst.
Also vielleicht lieber erst mal kurz den obigen Befehl testen.
Andreas