VBS中使用Adodb.Stream输出不带BOM的UTF-8文件

神之泪花 2012-08-02 10:40:01
需求是在VBS中使用Adodb.Stream(或其他方法)输出不带BOM的UTF-8文件

在调用SaveToFile()方法之前,需要将流转换为二进制类型。
Set stream =  getStream()'此处获得一个不带BOM的stream
stream.Position = 0
stream.Type = 1
stream.SaveToFile fileName, 2

但是Adodb.Stream在输出的时候发现UTF-8文本流的开头缺少BOM,又会再次将其加上。
如果将流类型改为二进制,输出时就可以绕过Adodb.Stream的BOM监测了。

问题:虽然将流转换为二进制类型可以绕过Adodb.Stream的BOM监测,但是输出文件的Encoding不是UTF-8。如何能绕过Adodb.Stream的BOM监测,同时输出不带BOM的UTF-8文件呢?

谢谢
...全文
1140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Refio 2012-08-19
  • 打赏
  • 举报
回复
1楼代码在哪?被删了?
神之泪花 2012-08-13
  • 打赏
  • 举报
回复
此问题用1楼的代码没有问题。
只不过在没有日文或是可识别为UTF-8的字符时,文件的Encoding会显示为Shift-JIS。
纠结了好久的问题,总是解决了,
Justin-Liu 2012-08-10
  • 打赏
  • 举报
回复
我稀罕这个头像

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧