通过 ADO 插入 dbf 文件时出现编码问题。
Connecting string: 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="dBASE IV";Data Source='+extractfilepath(ParamStr(0))+';'+
'User ID=Admin;Password='
在插入命令中,我将数据转换为某些代码页,但在表中着陆不同的字节。可能是因为 unicode 字符串。
insert into someDBFFile (f1,f2,f3,f4,f5)
values(
'ATENEUM SPŁśKA Z OGRANICZONŹ ODPOWIEDZIALNOCIŹ S.K.A. Wpisana w S†dz',
'ie rej.dla Krakowa-r˘dmiežcie Wydzia’ XI Gospodarczy',
'30-741',
'Krak˘w',
'Nad Drwin† 10, '
)
插入 DBF 后的数据:
ATENEUM SPťKA Z OGRANICZONŤ ODPOWIEDZIALNO?CIŤ SKA Wpisana w SĹdzie rej.dla Krakowa-?rôdmie§cie Wydzia' XI Gospodarczy
30-741Krakôw
Nad DrwinĹ 10,
应如示例代码中所示:
'ATENEUM SPŁśKA Z OGRANICZONŹ ODPOWIEDZIALNOCIŹ SKA Wpisana w S†dz', 'ie rej.dla Krakowa-r˘dmiežcie Wydzia', '30-741', 'Krak˘w', 'Nad Drwin† 10, '
我用相同的结果尝试了 TADOTable。
tblZAEX.Insert;
tblZAEX.FindField('NA1').AsAnsiString:=ToMazovia(Copy(TInvoiceHeaderPartiesSummaryB_Name.asansiString,1,70));
tblZAEX.FindField('NA2').AsAnsiString:=ToMazovia(Copy(TInvoiceHeaderPartiesSummaryB_Name.asansiString,71,70));
tblZAEX.Post;