如何通过vbscript创建UTF-8编码的文本文件?

时间:2014-08-10 19:28:36

标签: csv encoding vbscript character-encoding cmd

我编写了以下代码段:

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转换为具有临时文件的属性(包括编码),那么它也应该没问题。

任何想法如何完成?

1 个答案:

答案 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"之间没有区别。