社区
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?
或者有没有其它的解决办法?
...全文
737
31
打赏
收藏
用ADODB.STREAM生成UTF-8编码的HTML时能不能去除BOM?
一个生成HTML的程序,模板是一个UTF-8的HTML文件,在这个文件里已经去除了BOM。 现在用ADODB.STREAM读取模板,添加内容,然后输出为UTF-8的HTML网页。但我检查这个HTML时 发现又被自动加上了BOM。 请问有没有办法在生成时不要自动加入BOM? 或者有没有其它的解决办法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)
PB9转换
utf-8
例子
PB9及以下版本没有直接转换字符
编码
的函数或方法,本例子使用
ADO
DB
.
Stream
进行转换。
使用vbs读写文件(
Ado
db
.
Stream
)方式
使用vbs读写文件(
Ado
db
.
Stream
)方式,防止乱码
利用
Ado
Db
.
Stream
对象来读取
UTF-8
格式的文本文件
代码如下:‘函数名称:ReadTextFile ‘作用:利用
Ado
Db
.
Stream
对象来读取
UTF-8
格式的文本文件 ‘—————————————————- Function ReadFromTextFile (FileUrl,CharSet) If FileUrl = “” OR IsNull(FileUrl) Then ReadFromTextFile = “” Exit Function End If If Not FLib.IsReallyPath(FileUrl)
FSO
生成
UTF-8
编码
文件的解决方法
昨天写一个
生成
天气预报的xml文件的程序,考虑到通用性,于是选择
utf-8
编码
,我也比较偏好这个
编码
。最先想到用FSO来写这个xml文件,后来却发现
生成
的xml文件
不能
正常显示,仅仅是因为
编码
的原因。用记事本打开
生成
的xml文件,另存为
utf-8
编码
的xml文件即可正常显示。于是在网上搜索了一下,结果发现很多人说FSO只能写ANSI
编码
的文件,
不能
写
utf-8
格式的文件,并且只能读写文本文件。很多人都选择用
ADO
DB
.
STREAM
对象来替代FSO对象,因为
STREAM
类有LOADFROMFILE和SAVETOFILE方法.并且有一个至关重要的属性CHARSET,这是FSO没有的。
VBA Fans读取和写入
UTF-8
格式文本文件
VBA Fans读取和写入
UTF-8
格式文本文件
ASP
28,409
社区成员
356,968
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章