0

我在我的电脑上安装了新的 Windows 7。

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

在 Access 中,数据保存正常。

系统语言环境将希伯来语作为非 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;
4

1 回答 1

3

尝试使用AsWideString而不是AsString.

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

于 2014-05-05T17:31:59.940 回答