Write Chinese chars to a text file using vbscript

前端 未结 3 1606
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-21 03:20

I\'m trying to write some Chinese characters to a text file using

Set myFSO = CreateObject(\"Scripting.FileSystemObject\")
Set outputFile = myFSO.OpenTextFile(ge         


        
相关标签:
3条回答
  • 2021-01-21 03:38

    Things had changed along win versions. This works on Win10:

    Set outputfile = myFSO.CreateTextFile(filename,True,True)
    

    The 3rd arg is bool true/false for unicode/ascii 2. Surprisingly, when using myFSO.OpenTextFile the arg is int with 1 (not -1) for unicode 1.

    Documentation:

    https://msdn.microsoft.com/en-us/library/aa265018(v=vs.60).aspx

    https://msdn.microsoft.com/en-us/library/aa265347(v=vs.60).aspx

    0 讨论(0)
  • 2021-01-21 03:47

    Try this:-

    MsgBox "Writing Line"
    On Error Resume Next
    outputFile.WriteLine s '' # Removed ( ) that shouldn't be there.
    MsgBox "Err " & Err.Number & ": " & Err.Description
    On Error GoTo 0
    

    What do you get?

    0 讨论(0)
  • 2021-01-21 03:57

    Maybe it's got something to do with character encoding. Try directly specifying the Unicode format for the file in the last parameter of the OpenTextFile method:

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

    Also, you need to close the file after writing to it:

    outputFile.Close
    

    If this doesn't help, try error handling like AnthonyWJones suggested.

    0 讨论(0)
提交回复
热议问题