今天在做asp生成靜態頁的時候遇到這個問題
由于我生成靜態頁使用的方法是讀取asp頁面的html代碼,保存為html文件,這種方法。由于動態頁是utf8格式的編碼,我得到它的html代碼后,使用fso保存,生成html是成功了,但是打開網頁全是亂碼,選擇gb2312就可以正常生成了。這樣不行,因為整站都是utf8格式的編碼,打開這個頁面,還需要選擇編碼才可訪問,這樣太麻煩了,也沒有人愿意去訪問,所以必須解決utf8格式編碼問題。
經過一翻測試采用“adodb.stream”來代替"Scripting.FileSystemObject"讀取生成任何編碼的網頁都正常了。
函數如下:
'-------------------------------------------------
'函數名稱:ReadTextFile
'作用:利用AdoDb.Stream對象來讀取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
'-------------------------------------------------
'函數名稱:WriteToTextFile
'作用:利用AdoDb.Stream對象來寫入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")
根據自已的情況,修改一下上面兩個函數,完滿生成靜態頁面。
下一篇::從虛擬主機到VPS服務器,再到如今的ECS云服務器、區別匯總
最新文章
- 1火兔助手

火兔助手......
- 2Access數據庫超過2G解決方案

Access數據庫操作、管理起來很方便,工作多年......
- 3火兔助手|快手點贊|快手評論

......
- 4微型B2C站點的建立

《微型B2C站點的建立》對于大多數企業來說,......
- 5百度優化之判斷關鍵詞是否犯

??關鍵詞堆砌(keywordstuffing)在網頁中大......


