|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP脚本是采用明文(plaintext)方式来编写的。今天给aw写一个天生天色预告的xml文件的程序,思索到通用性,因而选择utf-8编码,我也对照偏好这个编码。开始想到用FSO来写这个xml文件,厥后却发明天生的xml文件不克不及一般显现,仅仅是由于编码的缘故原由。用记事本翻开天生的xml文件,另存为utf-8编码的xml文件便可一般显现。因而在网上搜刮了一下,了局发明良多人说FSO只能写ANSI编码的文件,不克不及写utf-8格局的文件,而且只能读写文本文件。良多人都选择用ADODB.STREAM工具来替换FSO工具,由于STREAM类有LOADFROMFILE和SAVETOFILE办法.而且有一个相当主要的属性CHARSET,这是FSO没有的。有人给出了样例程序:
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]-------------------------------------------------
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]函数称号:ReadTextFile
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]感化:使用AdoDb.Stream工具来读取UTF-8格局的文本文件
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]----------------------------------------------------
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]FunctionReadFromTextFile(FileUrl,CharSet)
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]dimstr
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]setstm=server.CreateObject("adodb.stream")
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.Type=2以本形式读取
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.mode=3
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.charset=CharSet
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.open
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.loadfromfileserver.MapPath(FileUrl)
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]str=stm.readtext
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.Close
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]setstm=nothing
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]ReadFromTextFile=str
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]EndFunction
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]-------------------------------------------------
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]函数称号:WriteToTextFile
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]感化:使用AdoDb.Stream工具来写进UTF-8格局的文本文件
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]----------------------------------------------------
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]SubWriteToTextFile(FileUrl,byvalStr,CharSet)
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]setstm=server.CreateObject("adodb.stream")
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.Type=2以本形式读取
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.mode=3
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.charset=CharSet
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.open
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.WriteTextstr
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.SaveToFileserver.MapPath(FileUrl),2
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.flush
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.Close
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]setstm=nothing
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]EndSub
有这个样例程序,很轻松地弄定了天生utf-8编码的xml文件的成绩。谁知一上传到服务器,会见这个页面竟然显现为空缺,一切的代码均没有实行,包含一般的HTML代码都不显现。厥后经由一步一步测试,发明是上面这一行的成绩:
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]stm.SaveToFileserver.MapPath(FileUrl),2
更加诡异的是即便把这一行正文失落,这个页面仍然不克不及实行,可是一旦删除这一行,全部页面就恢复一般了,估量是主机的缘故原由……没举措咯,仍是得用FSO,归正主机是撑持FSO的,我还就不信FSO只能写ANSI编码的文件了!翻了一些电子书和大批网页,终究发明FSO是能够设置编码的:
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]object.CreateTextFile(filename[,overwrite[,unicode]])个中unicode参数能够为以下几种:
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]-2以体系默许格局翻开文件。
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]-1以Unicode格局翻开文件。
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]0以ASCII格局翻开文件。因而成绩水到渠成,上传到主机,测试,统统OK,哇哈哈~
===============stream遍历每行=====================
没处置过如许的编码,不外独自用stream流应当能够的。
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]dimst
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]dimc
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]dimstrHTML
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st=Server.CreateObject("adodb.stream")
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st.Type=2
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st.Open
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st.Position=0
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st.loadFromFileServer.MapPath("christ.txt")
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]c=st.readText
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]st.close
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]c=split(c,chr(13)&chr(10))
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]foreachstrHTMLinc
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]strHTML=Trim(strHTML)
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]strHTML=replace(strHTML,"","")
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]......
[img=11align=topstyle=,16src=]http://www.ckuyun.com/[/img]next缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|