使用NotesStream生成UTF-8文件

使用NotesStream生成UTF-8文件,utf-8,lotus-notes,lotusscript,Utf 8,Lotus Notes,Lotusscript,我正在尝试使用LotusScript将一些文本导出到UTF-8文件。我检查了文档,下面几行应该以UTF-8的形式输出我的文本,但Notepad++说它是ANSI Dim streamCompanies As NotesStream Dim sesCurrent as New NotesSession Set streamCompanies = sesCurrent.CreateStream Call streamCompanies.Open("C:\companies.txt", "UTF-8

我正在尝试使用LotusScript将一些文本导出到UTF-8文件。我检查了文档,下面几行应该以UTF-8的形式输出我的文本,但Notepad++说它是ANSI

Dim streamCompanies As NotesStream
Dim sesCurrent as New NotesSession

Set streamCompanies = sesCurrent.CreateStream
Call streamCompanies.Open("C:\companies.txt", "UTF-8")
Call streamCompanies.WriteText("Test")
streamCompanies.Close

当我尝试使用UTF-16而不是UTF-8执行相同操作时,生成的文件格式是正确的。有谁能告诉我如何在Windows平台上使用LotusScript编写UTF-8文件的正确方向吗?

在编写代码时,我无意中发现了一些在文本编辑器中正确显示的带有亚洲字符的数据。重新检查文件编码时,我发现以下内容:

如果输出文本仅包含ASCII字符,则使用记事本将其解码为ANSI++ 如果输出文本包含例如片假名,则使用记事本将其解码为UTF-8++


->问题已为我解决。

Notes很可能正在正确执行其工作和编码。如果文件中不存在仅限UTF-8的字符,则Notepad++可能会将UTF-8文件解释为ANSI。在这种情况下,除了分析其内容之外,没有其他方法可以确定编码

见此答案:


因此,确保Notes正常工作的一个简单测试是输出一个非ANSI字符,然后在Notepad++中打开确认

我不会说这已经结束了。这是一个很好的问题,可以让其他人免于同样的困惑。我必须同意肯的观点,这肯定会帮助其他人。也可以接受你自己的答案。当然可以,但我必须等几天才能接受我自己的答案:-)