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