QQ:954886777
好文分享

采用AdoDb.Stream對角來(lái)解決生成網(wǎng)頁(yè)亂碼問(wèn)題

時(shí)間:2019年05月18日 信息來(lái)源:本站原創(chuàng ) 點(diǎn)擊: 加入收藏 】【 字體:

今天在做asp生成靜態(tài)頁(yè)的時(shí)候遇到這個(gè)問(wèn)題
由于我生成靜態(tài)頁(yè)使用的方法是讀取asp頁(yè)面的html代碼,保存為html文件,這種方法。由于動(dòng)態(tài)頁(yè)是utf8格式的編碼,我得到它的html代碼后,使用fso保存,生成html是成功了,但是打開(kāi)網(wǎng)頁(yè)全是亂碼,選擇gb2312就可以正常生成了。這樣不行,因為整站都是utf8格式的編碼,打開(kāi)這個(gè)頁(yè)面,還需要選擇編碼才可訪(fǎng)問(wèn),這樣太麻煩了,也沒(méi)有人愿意去訪(fǎng)問(wèn),所以必須解決utf8格式編碼問(wèn)題。

經(jīng)過(guò)一翻測試采用“adodb.stream”來(lái)代替"Scripting.FileSystemObject"讀取生成任何編碼的網(wǎng)頁(yè)都正常了。

函數如下:
'-------------------------------------------------
'函數名稱(chēng):ReadTextFile
'作用:利用AdoDb.Stream對象來(lái)讀取UTF-8格式的文本文件
'----------------------------------------------------
Function ReadFromTextFile (FileUrl,CharSet)
    dim str
    set stm=server.CreateObject("adodb.stream")
     stm.Type=2 '以本模式讀取
     stm.mode=3 
     stm.charset=CharSet
     stm.open
     stm.loadfromfile server.MapPath(FileUrl)
     str=stm.readtext
     stm.Close
    set stm=nothing
     ReadFromTextFile=str
End Function
'-------------------------------------------------
'函數名稱(chēng):WriteToTextFile
'作用:利用AdoDb.Stream對象來(lái)寫(xiě)入UTF-8格式的文本文件
'----------------------------------------------------
Sub WriteToTextFile (FileUrl,byval Str,CharSet) 
    set stm=server.CreateObject("adodb.stream")
     stm.Type=2 '以本模式讀取
     stm.mode=3
     stm.charset=CharSet
     stm.open
     stm.WriteText str
     stm.SaveToFile server.MapPath(FileUrl),2 
     stm.flush
     stm.Close
    set stm=nothing
End Sub
使用方法:
call WriteToTextFile ("../index.html","aaa","utf-8") 


根據自已的情況,修改一下上面兩個(gè)函數,完滿(mǎn)生成靜態(tài)頁(yè)面。



上一篇:百度一季度虧損 或被這篇文章言中
下一篇:從虛擬主機到VPS服務(wù)器,再到如今的ECS云服務(wù)器、區別匯總
(作者:佚名 編輯:admin)

新文章

門(mén)文章

野性狂欢大派对AV片_亚洲va欧美va_亚洲 国产 最新_国产999在线视频观看