使用vbscript将中文字符写入文本文件

Car*_*nco 3 string vbscript cjk text-files

我正在尝试使用以下方法将一些汉字写入文本文件

Set myFSO = CreateObject("Scripting.FileSystemObject")
Set outputFile = myFSO.OpenTextFile(getOutputName(Argument, getMsiFileName(Wscript.Arguments)), forWriting, True)
outputFile.WriteLine(s) 
Run Code Online (Sandbox Code Playgroud)

该变量s包含一个我从其他文件中读取的汉字。我回显s值,并且可以在屏幕上正确看到。但是,由于某种原因,脚本在停止后outputFile.WriteLine(s)不会返回任何错误消息而停止运行。

我想念什么吗?

Hel*_*len 5

也许与字符编码有关。尝试在OpenTextFile方法的最后一个参数中直接为文件指定Unicode格式:

Const Unicode = -1
Set outputFile = myFSO.OpenTextFile(getOutputName(Argument, getMsiFileName(Wscript.Arguments)), forWriting, True, Unicode)
Run Code Online (Sandbox Code Playgroud)

另外,您需要在写入文件后关闭文件:

outputFile.Close
Run Code Online (Sandbox Code Playgroud)

如果这样做没有帮助,请尝试像AnthonyWJones建议的那样进行错误处理。