从MS Access读取时,Delphi显示问号

时间:2014-05-05 17:17:43

标签: delphi ms-access delphi-7 tadoquery

我在计算机上安装了新的Windows 7。

我有一个delphi 7应用程序正在使用TAdoQuery从具有希伯来字母的表中的MS Access数据中进行选择。

在Access中,数据保存正常。

系统Locale将希伯来语作为非Unicode语言。

但是当从表delphi中获取数据时,希伯来字母显示为问号(?)。

请问好吗?

代码示例:

with qryCustom do
begin
  Close;
  SQL.Text := 'select * from TB_Files where ID > 0 order by ID';
  Open;
  while not EOF do
  begin
    lItem := lvFiles.Items.Add;
    lItem.ImageIndex := 1;
    lItem.Caption := FieldByName('FullFileName').AsString;
    Next;
  end;    
  Close;
end;

1 个答案:

答案 0 :(得分:3)

尝试使用AsWideString代替AsString

如果可能/可行,尝试切换到启用Unicode的组件,就像旧的TNT组件一样。 Delphi 7控件本身不支持Unicode。只要操作系统区域设置与数据区域设置匹配,就不应丢失任何来自Ansi / Unicode转换的内容。但你真的不应该依赖它。最好尽可能地使用完整的Unicode