采用AdoDb.Stream對(duì)角來解決生成網(wǎng)頁亂碼問題
今天在做asp生成靜態(tài)頁的時(shí)候遇到這個(gè)問題
由于我生成靜態(tài)頁使用的方法是讀取asp頁面的html代碼,保存為html文件,這種方法。由于動(dòng)態(tài)頁是utf8格式的編碼,我得到它的html代碼后,使用fso保存,生成html是成功了,但是打開網(wǎng)頁全是亂碼,選擇gb2312就可以正常生成了。這樣不行,因?yàn)檎径际莡tf8格式的編碼,打開這個(gè)頁面,還需要選擇編碼才可訪問,這樣太麻煩了,也沒有人愿意去訪問,所以必須解決utf8格式編碼問題。
經(jīng)過一翻測(cè)試采用“adodb.stream”來代替"Scripting.FileSystemObject"讀取生成任何編碼的網(wǎng)頁都正常了。
函數(shù)如下:
'-------------------------------------------------
'函數(shù)名稱:ReadTextFile
'作用:利用AdoDb.Stream對(duì)象來讀取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
'-------------------------------------------------
'函數(shù)名稱:WriteToTextFile
'作用:利用AdoDb.Stream對(duì)象來寫入U(xiǎn)TF-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")
根據(jù)自已的情況,修改一下上面兩個(gè)函數(shù),完滿生成靜態(tài)頁面。
下一篇::從虛擬主機(jī)到VPS服務(wù)器,再到如今的ECS云服務(wù)器、區(qū)別匯總
最新文章
- 1火兔助手
火兔助手......
- 2Access數(shù)據(jù)庫超過2G解決方案
Access數(shù)據(jù)庫操作、管理起來很方便,工作多年......
- 3火兔助手|快手點(diǎn)贊|快手評(píng)論
......
- 4微型B2C站點(diǎn)的建立
《微型B2C站點(diǎn)的建立》對(duì)于大多數(shù)企業(yè)來說,......
- 5百度優(yōu)化之判斷關(guān)鍵詞是否犯
??關(guān)鍵詞堆砌(keywordstuffing)在網(wǎng)頁中大......