由于要自动生成Z-BLOG程序的ASP配置文件,但这些文件都是UTF-8格式的文件,用VB普通的读写方式写出的文件总是出错,无法在博客程序中正常读取,所最经查阅资料,写出了如下代码,解决了问题。
Dim stm As ADODB.Stream 'VB中专用
'Set stm = server.CreateObject("adodb.stream") ASP中可用
Set stm = New ADODB.Stream
FileUrll = rect.Fields("dbflistname").Value & ".ASP"
' FileUrll = "hjqpp.ASP"
stm.Type = 2
stm.Mode = 3
stm.CharSet = "utf-8"
stm.Open
stm.WriteText "<%", adWriteLine
stm.WriteText "'网站基本设置", adWriteLine
stm.WriteText "Const ZC_DATABASE_PATH=""Data/#%20d648c46c408dec818db5.mdb""", adWriteLine
stm.WriteText "Const ZC_BLOG_CSS=""Default""", adWriteLine
stm.WriteText "", adWriteLine
stm.WriteText "%>", adWriteLine
stm.WriteText "<!-- #include file=""LANGUAGE/SimpChinese.asp""" & "-->"
stm.SaveToFile FileUrll, adSaveCreateOverWrite
'stm.SaveToFile server.MapPath(FileUrl), 2 'ASP中可用
stm.Flush
stm.Close
Set stm = Nothing
要注意的地方:1、如果每一行后面不加“adWriteLine”参数,则是所有字符连续,不分行。
2、语句中的引号(")要用两个引号来实现,但做为一个字符要写入UTF-8的ASP文件中,当然两边要加引号("),这样在字符中有引号的语句,后面一般是三个引号(""")
3、如果你自己也要写Z-BLOG的ASP配置文件,一定要认真啊,我在就是在“ stm.WriteText "Const ZC_BLOG_CSS=""Default""", adWriteLine”一句中就是曾在DEFAULT前面多加了一个空格,而导致配置文件始终无法正常应用。
