使用Delphi 2007&试图用希腊字符&读取txt文件用Excel打开,我没有获得希腊字符但符号...任何帮助?
使用此代码
创建文本文件CSVSTRList.SaveToFile('c:\test\xxx2.txt');
其中CSVSTRList是TStringList。
答案 0 :(得分:3)
在上一个问题中查看您的代码,您似乎正在查看股票TStringList
并致电SaveToFile
。将文本编码为ANSI。您的希腊字符不能编码为ANSI。
您想使用Unicode编码导出文本。例如,在现代Delphi中,您将使用:
StringList.SaveToFile(FileName, Encoding.Unicode);
表示UTF-16或
StringList.SaveToFile(FileName, Encoding.UTF8);
表示UTF-8。
我希望Excel能够理解这些编码中的任何一种。
由于您使用的是非Unicode Delphi,因此事情变得更加困难。您需要将所有代码(每一个字符串处理)都更改为Unicode。因此,您不能再使用股票字符串列表,例如,因为它包含8位ANSI字符串。使用传统Delphi执行此操作的最简单方法是使用TNT Unicode library。
或者你可以采取转向Unicode Delphi的步骤。如果您关心国际文本,那么这是最明智的选择。