Tri*_*ham 21 vbscript utf-8 character-encoding
我有一个文本文件保存为UTF-8,当我尝试读取文件时,它给我奇怪的字符而不是正确的字符(它包含中文字符).我怎样才能让它给我正确的汉字?
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:\Users\admin\Desktop\ArtistCG\folder.txt"
strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll
arrLines = Split(strData,vbCrLf)
aniTextFile = "C:\Users\admin\Desktop\ArtistCG\folder-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
Run Code Online (Sandbox Code Playgroud)
Esa*_*ija 43
从文档:
FSO只能读取ASCII文本文件.您不能使用FSO读取Unicode文件或读取二进制文件格式,如Microsoft Word或Microsoft Excel.
既然你有奇怪的字符,我想这有些不正确,并且在一些8位的Windows代码页中读取了文件,因为如果它真的只能读取ASCII,那么你会看到 ????
无论如何,如果你可以使用ADO,你可以这样做:
Dim objStream, strData
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "utf-8"
objStream.Open
objStream.LoadFromFile("C:\Users\admin\Desktop\ArtistCG\folder.txt")
strData = objStream.ReadText()
objStream.Close
Set objStream = Nothing
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51136 次 |
| 最近记录: |