VBGood网站全文搜索 Google

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

VB爱好者乐园(VBGood)

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

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

[复制链接]

91

主题

11

听众

6999

积分

系统分析员

在职会计不专业 业余编程很业余

Rank: 5Rank: 5Rank: 5

擂点
0
人气
51
威望
258
注册时间
2007-8-8
精华
0
帖子
1135
发表于 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

91

主题

11

听众

6999

积分

系统分析员

在职会计不专业 业余编程很业余

Rank: 5Rank: 5Rank: 5

擂点
0
人气
51
威望
258
注册时间
2007-8-8
精华
0
帖子
1135
发表于 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

用这个好了
回复

使用道具 举报

91

主题

11

听众

6999

积分

系统分析员

在职会计不专业 业余编程很业余

Rank: 5Rank: 5Rank: 5

擂点
0
人气
51
威望
258
注册时间
2007-8-8
精华
0
帖子
1135
发表于 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
回复

使用道具 举报

21

主题

7

听众

7721

积分

系统分析员

Rank: 5Rank: 5Rank: 5

擂点
0
人气
67
威望
112
注册时间
2010-2-8
精华
0
帖子
757
发表于 2016-12-31 21:42:10 |显示全部楼层
CreateFile
头三个字节 :EF BB BF
之后就是你的内容。
回复

使用道具 举报

95

主题

5

听众

1万

积分

网络设计师

业余VB爱好者

Rank: 7Rank: 7Rank: 7

擂点
0
人气
22
威望
48
注册时间
2012-6-13
精华
0
帖子
658
发表于 2017-1-1 17:42:02 |显示全部楼层
用上 mutilbytetowidechar 转换字符串,再加上文件头 EF BB BF
回复

使用道具 举报

91

主题

11

听众

6999

积分

系统分析员

在职会计不专业 业余编程很业余

Rank: 5Rank: 5Rank: 5

擂点
0
人气
51
威望
258
注册时间
2007-8-8
精华
0
帖子
1135
发表于 2017-1-11 14:21:30 |显示全部楼层
谢谢楼上两位,就是做了一个简单的手机通讯录导入文件转换工具,可以将包含姓名、单位、3个电话或手机号的CSV表导入转换成支持安卓手机联系人导入的表VCF表:

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

回复

使用道具 举报

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

文字版|手机版|VBGood

GMT+8, 2017-2-23 08:26

VB爱好者乐园(VBGood)
回顶部