如何将文本文件的编码格式从Unicode更改为UTF-8
问题描述:
Dim txtFile, fileObj, streamObj, s
Set txtFile = CreateObject(fileName)
Set streamObj = CreatreObject("adodb.Stream")
streamObj.Charset = "UTF-8"
streamObj.open
Set fileObj = txtFile.OpenTextFile("filePath")
Do Until fileObj.AtEndOfStream
s = fileObj.ReadLine
txtObj.WriteText s
Loop
txtObj.SaveToFile "D:\A4\Message_tool\surya.msg", 2
fileObj.Close
执行此代码后,surya.msg的编码格式为"ANSCII",但我希望它为"UTF-8"
After the execution this code the encoding format of surya.msg is "ANSCII" but I want it to be "UTF-8"
答
Const adTypeText = 2
Const adSaveCreateOverWrite = 2
Dim inputFile, outputFile
inputFile = "input_file.txt"
outputFile = "output_file.txt"
Dim inputStream
Set inputStream = WScript.CreateObject("adodb.stream")
With inputStream
.Type = adTypeText
.Charset = "unicode"
.Open
.LoadFromFile inputFile
End With
Dim outputStream
Set outputStream = WScript.CreateObject("adodb.stream")
With outputStream
.Type = adTypeText
.Charset = "utf-8"
.Open
.WriteText inputStream.ReadText
.SaveToFile outputFile, adSaveCreateOverWrite
End With
inputStream.Close
outputStream.Close