我在计算机上安装了新的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;
答案 0 :(得分:3)
尝试使用AsWideString
代替AsString
。
如果可能/可行,尝试切换到启用Unicode的组件,就像旧的TNT组件一样。 Delphi 7控件本身不支持Unicode。只要操作系统区域设置与数据区域设置匹配,就不应丢失任何来自Ansi / Unicode转换的内容。但你真的不应该依赖它。最好尽可能地使用完整的Unicode