2012-05-21 304 views
2

我有一个文本文件。我应该将其转换为Utf8。转换后,文件中的所有数字都转换为问号。例如,1380被转换为4个问号,如下所示:'????'。 我使用德尔福2009年将Utf8转换为Unicode

这是我的代码转换:

RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName,TEncoding.UTF8); 

我怎样才能纠正这种转换?

+6

这不是一个“转换”。你正在告诉RichEdit.Lines它应该期望一个UTF8编码的文本文件,但显然不提供一个。你需要用适当的编码(你没有提到)打开这个文件,将它转换为UTF8,然后将它分配给RichEdit.Lines属性。由于您没有提及文本文件的实际编码,所以我无法对如何将其转换为UTF8提出任何建议。你能编辑你的问题,提供关于文本文件的实际编码在磁盘上的缺失信息吗?谢谢。 –

+0

现有文件采用unicode格式。我想在我的应用程序中打开该文件,并通过文件中的某些字符填充一些备忘录和富文本。我的文件有英文字符,波斯文字符和一些带有符号的数值。 – user1073024

回答

0

如果您的文件采用UTF-16LE(“Unicode”)格式,则应使用TEncoding.Unicode。 或者您应该将文件加载到RichEdit之前将其转换为UTF-8。