【发布时间】:2015-01-21 18:55:17
【问题描述】:
我正在尝试创建一个 ANSI 文件。但我尝试的一切都给了我一个 UTF-8 w/o BOM。
为了测试目的,我尝试用最少的代码来做到这一点,这就是我发现的。
Dim myFile
Dim objFSO : Set objFSO=CreateObject("Scripting.FileSystemObject")
Set myFile = objFSO.CreateTextFile("C:\TestFile.txt")
myFile.Close
上面的代码给了我一个 MSDS 宣传的 ANSI 文件,但是当我在下面的代码中写入它时
Dim myFile
Dim objFSO : Set objFSO=CreateObject("Scripting.FileSystemObject")
Set myFile = objFSO.CreateTextFile("C:\TestFile.txt")
myFile.WriteLine "TestLine"
myFile.Close
现在使用 Notepad++ 检查文件时,我有 UTC-8 w/o BOM
有代码等待我尝试创建的实际文件。该代码不接受该文件。经过一些繁琐的调试后,我发现它不喜欢 UTF 格式。如果我现在使用 Notepad++ 保存为 ANSI,代码将接受该文件。我需要从一开始就以编程方式执行此操作。
谁能确认他们是否得到相同的结果? 如何确保最终得到一个 ANSI 文本文件? 谢谢
【问题讨论】:
-
我正在使用 notepad++ 打开生成的文件。我正在创建的实际文件存在依赖关系,它不喜欢 UTF 格式。如果我使用 notepad++ 将文件转换为 ANSI,则代码接受该文件。如果你愿意,我可以放截图
-
你将什么 .WriteLine(而不是“TestLine”)写入 myFile?您是否在“真实”代码中使用“On Error Resume Next”?
-
我正在创建的文件包含来自不同测试站的其他文件名。结果文件的名称上有度数和各种工程符号等符号。我正在两个系统之间编写一个接口。我看不到接收端的代码,但经过测试,我发现当文件格式为 UTF 时,如使用 Notepad++ 所示,它将拒绝该文件。如果我将相同的文件转换为 ANSI 并重新尝试将其提供给接收系统,它会完美运行。我需要文件是 ANSI 并且上面有工程术语。