在 vbscript 中读取 utf-8 文本文件 [英] Read utf-8 text file in vbscript
问题描述
我有一个保存为 UTF-8 的文本文件,当我尝试读取该文件时,它给了我奇怪的字符而不是正确的字符(它包含中文字符).我怎样才能让它给我正确的汉字?
I have a text file saved as UTF-8 and when I try to read the file it gives me weird characters and not the correct characters (it contains Chinese characters). How can I make it give me the correct Chinese characters?
Option Explicit
Dim objFSO, strTextFile, strData, strLine, arrLines, aniTextFile, aniData, aniLines, aniLine, objTextFile, fso, inputFileList, listFile, fname
Dim iim1, iret, iret2, iret3, i
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
strTextFile = "C:UsersadminDesktopArtistCGfolder.txt"
strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll
arrLines = Split(strData,vbCrLf)
aniTextFile = "C:UsersadminDesktopArtistCGfolder-list.txt"
aniData = objFSO.OpenTextFile(aniTextFile,ForReading).ReadAll
aniLines = Split(aniData,vbCrLf)
For i = 0 To UBound(arrLines)
strData = objFSO.OpenTextFile(arrLines(i),ForReading).ReadAll
WScript.Echo strData
Set listFile = objFSO.OpenTextFile(aniLines(i),ForReading)
Do While Not listFile.AtEndOfStream
fName = listFile.ReadLine
WScript.Echo fName
Loop
listFile.Close
Next
推荐答案
来自文档:
FSO 只能读取 ASCII 文本文件.您不能使用 FSO 读取Unicode 文件或读取二进制文件格式,例如 Microsoft Word 或微软 Excel.
The FSO can read only ASCII text files. You cannot use the FSO to read Unicode files or to read binary file formats such as Microsoft Word or Microsoft Excel.
因为你有奇怪的字符,我想这有点不正确,文件是在一些 8 位 Windows 代码页中读取的,因为如果它真的只能读取 ASCII,你会看到 ????
Since you got weird characters, I guess that's somewhat incorrect and the file was read in some 8-bit windows code page because if it really could read only ASCII, you would have seen ????
无论如何,如果您可以使用 ADO,你可以这样做:
Anyway, if you can use ADO, you can do this:
Dim objStream, strData
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "utf-8"
objStream.Open
objStream.LoadFromFile("C:UsersadminDesktopArtistCGfolder.txt")
strData = objStream.ReadText()
objStream.Close
Set objStream = Nothing
这篇关于在 vbscript 中读取 utf-8 文本文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!