VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 591|回复: 5

[求助] 怎么将文字保存为UTF-8无BOM格式文件

[复制链接]
发表于 2016-12-31 17:03:59 | 显示全部楼层 |阅读模式
怎么将文字保存为UTF-8无BOM格式文件

下面这段代码保存的是有BOM的

Sub SaveUTF8(ByVal Text As String, ByVal FileName As String)
    Dim oStream             As ADODB.Stream

    Set oStream = New ADODB.Stream
    oStream.Open
    oStream.Charset = "UTF-8"
    oStream.Type = adTypeText
    oStream.WriteText Text
    oStream.SaveToFile FileName, adSaveCreateOverWrite
    oStream.Close
End Sub
 楼主| 发表于 2016-12-31 17:28:46 | 显示全部楼层
Sub SaveToFile(ByVal Text As String, ByVal FileName As String)
    Dim stm
    Set stm = New ADODB.Stream
    stm.Type = 2 '以文本模式读取
    stm.Mode = 3
    stm.Charset = "utf-8"
    stm.Open
    stm.WriteText Text
    stm.Position = 3
    Dim newStream
    Set newStream = New ADODB.Stream
    With newStream
        .Mode = 3
        .Type = 1
        .Open
    End With
    stm.CopyTo (newStream)
    newStream.SaveToFile FileName, 2
    stm.Flush
    stm.Close
    Set stm = Nothing
    Set newStream = Nothing
End Sub

用这个好了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-31 18:20:54 | 显示全部楼层
这个好象可以

Sub SaveToFile(ByVal Text As String, ByVal FileName As String)
    Dim stm
    Set stm = New ADODB.Stream
    stm.Type = 2 '以文本模式读取
    stm.Mode = 3
    stm.Charset = "utf-8"
    stm.Open
    stm.WriteText Text
    stm.Position = 3
    Dim newStream
    Set newStream = New ADODB.Stream
    With newStream
        .Mode = 3
        .Type = 1
        .Open
    End With
    stm.CopyTo (newStream)
    newStream.SaveToFile FileName, 2
    stm.Flush
    stm.Close
    Set stm = Nothing
    Set newStream = Nothing
End Sub
回复 支持 反对

使用道具 举报

发表于 2016-12-31 21:42:10 | 显示全部楼层
CreateFile
头三个字节 :EF BB BF
之后就是你的内容。
回复 支持 反对

使用道具 举报

发表于 2017-1-1 17:42:02 | 显示全部楼层
用上 mutilbytetowidechar 转换字符串,再加上文件头 EF BB BF
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-1-11 14:21:30 | 显示全部楼层
谢谢楼上两位,就是做了一个简单的手机通讯录导入文件转换工具,可以将包含姓名、单位、3个电话或手机号的CSV表导入转换成支持安卓手机联系人导入的表VCF表:

http://abc.sy578.cn/soft/CSV2VCard.rar

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2017-5-24 10:24

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表