« IIS6.0 301重定向带参数的问题解决方法windows2003服务器上IIS占用CPU资源100%的解决办法 »

asp fso 800a0005 保存文件时错误

在做asp采集程序的时候,发现采集gb2312编码的网页,可以正常的保存!但是一旦遇到utf-8的网页的
话,就会出现下面的这个错误了!开始怎么都找不出错误在哪里!最后查阅了很多的资料才发现,原来是
这么回事情.
Quotation
Microsoft VBScript 运行时错误 错误 '800a0005'
无效的过程调用或参数


在来看我们的代码


Quotation
If Body<>"" Then
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set Fout = Fso.CreateTextFile(Server.Mappath(""&Filename&""))
Fout.Write(Body)' 当编码是utf-8的时候,就会提示这里错误!
Fout.Close
上面这段代码的红字部分其实也是这样的Fso.CreateTextFile(Server.Mappath(""&Filename&""),true)不写的话
默认为这样.这样保存的文件你用记事本打开看看,是用ASCII码来保存的.但是这对于utf-8是不适合的.所以才会出现
上面的错误


解决方法


Quotation
If Body<>"" Then
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set Fout = Fso.CreateTextFile(Server.Mappath(""&Filename&""),true,true)
Fout.Write(Body)'这下不会提示错出!
Fout.Close


这个时候我们再用记事本打开看看,结果发现现在是用unicode来保存文件的了!错误解决了!
这个问题的解决方法,网上很少,希望能给大家一些帮助!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。