我编写了以下代码段:
strVar = "one line that I want to write in the text file with extension .csv"
'Set fso = CreateObject("Scripting.FileSystemObject")
'fso.CreateTextFile(str2)
'Set f = fso.OpenTextFile(str2,2,True)
'f.WriteLine(str4)
'str2 holds the name of the file, say abc.csv //this is a comment
我认为文本文件的默认编码是ANSI。但是,我想将它编码为IUTF-8。我想这样做的原因是我有一个以UTF-8格式编码的.temp文件附加到这个csv文件,这就是我需要编码后追加的方式。临时文件只是一个csv文件,只是它有.temp扩展名。 如果我只是如上所述创建文本文件,则在追加后,文档中会出现一些错误。
我正在使用以下命令通过命令提示符将临时文件附加到csv文件,该命令提示符由vbscript调用:
"copy " &str2 & "+" &str1 & " " &str2
这会产生错误。 str1是临时文件名。
如果我可以像使用UTF-8编码一样创建文本文件,它可以正常工作。或者,在我将临时文件附加到csv之后,如果我可以将csv转换为具有临时文件的属性(包括编码),那么它也应该没问题。
任何想法如何完成?
答案 0 :(得分:0)
如果要附加到文件,只需打开文件for appending:
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\path\to\your.csv", 8, True)
f.WriteLine "text to append"
f.Close
您也不需要先使用CreateTextFile()
。 OpenTextFile()
的3 rd 参数已经解决了这个问题。
就可打印字符而言,文本文件中ISO-8859-1和what Microsoft calls "ANSI"之间没有区别。