社区
ASP
帖子详情
用ADODB.STREAM生成UTF-8编码的HTML时能不能去除BOM?
kanshangren
2006-06-22 11:06:13
一个生成HTML的程序,模板是一个UTF-8的HTML文件,在这个文件里已经去除了BOM。
现在用ADODB.STREAM读取模板,添加内容,然后输出为UTF-8的HTML网页。但我检查这个HTML时
发现又被自动加上了BOM。
请问有没有办法在生成时不要自动加入BOM?
或者有没有其它的解决办法?
...全文
795
31
打赏
收藏
用ADODB.STREAM生成UTF-8编码的HTML时能不能去除BOM?
一个生成HTML的程序,模板是一个UTF-8的HTML文件,在这个文件里已经去除了BOM。 现在用ADODB.STREAM读取模板,添加内容,然后输出为UTF-8的HTML网页。但我检查这个HTML时 发现又被自动加上了BOM。 请问有没有办法在生成时不要自动加入BOM? 或者有没有其它的解决办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bob_wang526
2006-09-08
打赏
举报
回复
不写最前面的2个字节就可以了好像.
kanshangren
2006-06-26
打赏
举报
回复
谢谢楼上的。这样感觉应该可以,不过效率肯定很低了,很难实际应用了。
看来不太好解决,结帖了。
kanshangren
2006-06-25
打赏
举报
回复
UP。有哪位能帮忙解决吗?分不够可以再加。
indexroot
2006-06-25
打赏
举报
回复
试试用saveToFile保存为 .zip文件,然后再用FSO重命名为.html
看看,是不是 UTF-8 NO BOM的文件
madpolice
2006-06-24
打赏
举报
回复
.Type = 2
.Mode = 3
.Open
.Charset = "UTF-8"
.WriteText Content
.Position = 2 '跳过BOM
result = .ReadText
'response.write result
kanshangren
2006-06-24
打赏
举报
回复
UP
kanshangren
2006-06-24
打赏
举报
回复
谢谢madpolice(午夜狂龙)。
不过这样做还是没用的。前面的代码我测试过了,直到.Position = 2 '跳过BOM这句都是正确的。用下面的输出个result,也是不带BOM的,应该是在最后SaveToFile时WINDOWS自作主张,加上了个BOM。ASP.NET中可以有参数控制,在ASP下现在我还没想不到什么解决办法。郁闷
龙宜坡
2006-06-23
打赏
举报
回复
不会
ATHENA112
2006-06-23
打赏
举报
回复
抱歉自动去掉BOM我也不会。
建议你找找有没相关组件。
kanshangren
2006-06-23
打赏
举报
回复
生成后再处理一次?请教一下怎么用ASP代码去掉BOM?
ATHENA112
2006-06-23
打赏
举报
回复
不去掉那一行就不行,那行会自动加BOM。
你只有考虑其他方法,如把ADODB.STREAM换成其他东西或生成后再处理一次。
lolo2006
2006-06-23
打赏
举报
回复
关注
kanshangren
2006-06-23
打赏
举报
回复
去掉了当然能正常显示的,GOOGLE的网页就是去了BOM的。
我之所以用ADODB.STREAM而没用FSO就是为了能生成UTF-8的文档,肯定不能去掉那一行了。
ATHENA112
2006-06-23
打赏
举报
回复
如果去掉BOM你的UTF-8网页还能正常显示吗?不明白为什么要去掉
你是用ADODB.STREAM生成HTML的吧?你可以把
.Charset="XXX"
这行去掉试试
kanshangren
2006-06-23
打赏
举报
回复
BOM是Byte Order Mark,用来表示UTF-8的编码方式的。WINDOWS下像NOTEPAD等程序保存UTF-8时都会加入这么一部分信息。但一些老的浏览器不支持BOM,所以有时候会出现问题,我想把它们去掉。
kanshangren
2006-06-23
打赏
举报
回复
发现了上面代码中的问题,我把position放在WriteText之后,但无论怎么调整POSITION的数字,对输出的结果好像都没有影响,BOM依然存在。看来是组件自身的限制了。
不知道有没有别的办法呢?
阿_浩
2006-06-23
打赏
举报
回复
关注。bom是什么??
mrshelly
2006-06-23
打赏
举报
回复
http://blog.csdn.net/jimzhu/archive/2005/05/19/376253.aspx
jspadmin
2006-06-23
打赏
举报
回复
版权信息?
jspadmin
2006-06-23
打赏
举报
回复
BOM是什么东西?
加载更多回复(11)
去掉
Ado
db
.
Stream
输出
UTF-8
的
BOM
通过
Ado
db
.
Stream
,可以很方便的读写二进制及及文本流,可读写文件,并可指定文本流的字符集
编码
。可是
Ado
db
.
Stream
输出
UTF-8
编码
的文本流时,会在流的最前端加上
BOM
。
BOM
是什么:Byte Order Mark,
UTF-8
编码
特有的标记,在文件流的开始中占用3个字节“EF BB BF”。
BOM
有什么用处:这里不做讨论,这里要讨论的是如何在
Ado
db
.
Stream
(以下简化为
避免
Ado
db
.
Stream
输出
UTF-8
时自动写入的
BOM
(asp)
asp
生成
html
如果采用utf8
编码
方式,多数采用的是
Ado
db
.
Stream
组件,因为fso并
不能
支持
Utf-8
最近在写一个
生成
HTML
页面的程序,模板是一个
UTF-8
的
HTML
文件,在这个文件里已经
去除
了
BOM
。现在用
ADO
DB
.
STREAM
读取模板,添加内容,然后输出为
UTF-8
的
HTML
网页。但我检查这个
HTML
时发现被自动加上了
BOM
。导致申明错误,从而使d
java导出无
bom
的csv中文乱码,如何在VBA(Excel)中使用没有
BOM
编码
的
UTF-8
保存文本文件(CSV)?...
所以这是我最初的问题 . The answer 在我的问题下面,似乎是获得
UTF-8
(和没有
BOM
的
UTF-8
)
编码
的唯一解决方案是使用
ADO
DB
.
Stream
对象 .主题行中我的新问题的答案将作为代码发布 .我坐在这里尝试 Save Excel工作表作为带有VBA宏的 .CSV -file .但是,我想知道我是否使用
ADO
DB
/
ADO
DB
.
Stream
或只是 .SaveAs ...
Excel VBA
生成
xml文件及一些技巧
前言 4个月前接了一个小任务,其中需要将Excel收集的数据转换为Excel,这里主要用到VBA进行开发,自己之前也没使用过VBA,知道这个东西能极大提高使用Excel的效率。通过这次开发,熟悉了一下VBA,也踩了一些坑,记录一下供大家参考。 参考 VBA 格式化输出XML(
UTF-8
无
BOM
编码
) https://blog.csdn.net/luwhite/article/details/5...
VB开发带自动翻译功能的RTF编辑器完整源码项目
为了让.myrtf等专有格式双击即可启动本程序,需向 Windows 注册表写入文件关联信息。End Sub该代码会在注册表中创建:📌 提示:首次安装时可询问用户是否关联扩展名,避免强制覆盖已有设置。
ASP
28,404
社区成员
356,946
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章