转:VB/VBScript读取和保存UTF-8文件方案

转: http://www.cnblogs.com/waver/articles/1283842.html

=============================== VB Code ===============================

Public Function SaveFile(FileName As Variant,strFileBody As Variant) As Boolean

Dim ADO_Stream As Object
Set ADO_Stream = CreateObject("ADODB.Stream")

With ADO_Stream
.Type = 2
.Mode = 3
.Charset = "utf-8"
.Open
.WriteText strFileBody
.SavetoFile FileName,2
End With

SaveFile = True
Set ADO_Stream = nothing
End Function

Public Function ReadUTF8(ByVal sUTF8File As String) As String
If Len(sUTF8File) = 0 Or Dir(sUTF8File) = vbNullString Then Exit Function
Dim ados As Object
Set ados = CreateObject("adodb.stream")
With ados
.Charset = "utf-8"
.Type = 2
.Open
.LoadFromFile sUTF8File
ReadUTF8 = .ReadText
.Close
End With
Set ados = nothing
End Function

=============================== VBScript Code ===============================

Function LoadFile(Path)
Dim Stm2
Set Stm2 = CreateObject("ADODB.Stream")
Stm2.Type = 2
Stm2.Mode = 3
Stm2.Open

Stm2.LoadFromFile Path
Stm2.Charset = "UTF-8"
'Stm2.Charset = "Unicode"
'Stm2.Charset = "GB2312"

Stm2.position = 0
LoadFile = Stm2.ReadText
Stm2.Close
Set Stm2 = nothing
End Function

Function WritetoFile(file,Message) Dim Stm1 Set Stm1 = CreateObject("ADODB.Stream") Stm1.Type = 2 Stm1.Open Stm1.Charset = "UTF-8" 'Stm1.Charset = "Unicode" Stm1.Position = Stm1.Size Stm1.WriteText LoadFile(file) + vbCrLf + Message Stm1.SavetoFile file,2 Stm1.Close set Stm1 = nothing End Function

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...