采用AdoDb.Stream對角來(lái)解決生成網(wǎng)頁(yè)亂碼問(wè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ù)器、區別匯總
最新文章
- 1微型B2C站點(diǎn)的建立
《微型B2C站點(diǎn)的建立》對于大多數企業(yè)來(lái)說(shuō),......
- 2百度優(yōu)化之判斷關(guān)鍵詞是否犯
??關(guān)鍵詞堆砌(keywordstuffing)在網(wǎng)頁(yè)中大......
- 3百度搜索推廣匹配方式精簡(jiǎn)成
百度搜索推廣匹配方式精簡(jiǎn)成3+1匹配模式了這......
- 4百度付費推廣常見(jiàn)問(wèn)題和解決
一、推廣賬戶(hù)問(wèn)題Q1.排名不錯,但是點(diǎn)擊率極......
- 5百度競價(jià)推廣出現競價(jià)賬戶(hù)有
競價(jià)推廣怎么做?sem競價(jià)推廣成為企業(yè)歡迎的......