1. 程式人生 > >asp生成UTF8編碼的靜態頁面

asp生成UTF8編碼的靜態頁面

最近做網頁,由於網頁中含韓文,所以gb2312編碼不能正常的顯示網頁,生成的頁面亂碼或者asp不能生成頁面!當時我就想到了用utf8編碼,誰知道asp生成utf8編碼的頁面並不那麼簡單,在我N次google下終於搞定了
1,ACCESS資料庫,access資料記錄是unicode編碼記錄的,這個不用需要管它了
2,模版檔案,由於我只做模版的時候使用的gb碼,現在要用utf8碼,所以必須要把他轉化成utf8碼,方法很簡單,新建一個文字檔案(也就是windows的記事本),把模版檔案程式碼複製進去,另存為–這裡有選擇最後一個utf-8儲存,這時模版檔案就變成utf-8編碼的了,再把utf-8碼的程式碼複製回模版檔案!重複上面的操作把所有的模版都改成utf-8!注意  charset=gb2312要改成 charset=utf-8!在轉換成utf-8編碼後有些字元可能會不能正確轉化,但很少
3,asp生成頁面程式
1,上面把所有的相關的asp生成程式都變換成utf-8編碼的,可能不需要全部轉化,或者不需要這麼做,但我為了保險起見把後臺的asp程式都改成了utf-8編碼的了
2,加上 這段程式碼,我是這麼理解的access資料裡面是按unicode編碼儲存的,它可以變換成任何編碼!就上 意思是讓他以utf-8編碼匯出!這個一定要加
3,修改生成靜態頁面的方法 一般都是用fso生成靜態頁面的,使用utf-8編碼fso就不行了,他不支援utf-8碼,找生成頁面的那段把它改成下面的方式生成

<%
Set objStream = Server.CreateObject("ADODB.Stream")
    With objStream
    .Open
    .Charset = "utf-8"' //編碼,這裡你可以改成任何編碼
    .Position = objStream.Size
    .WriteText=txt' //模版+資料
    .SaveToFile server.mappath("../../C22.js"),2' //生成檔案路徑
    .Close
    End With
Set objStream = Nothing 
%>

ok了~~漢字 韓國字 曰本字 等等,傳說加上火星語都不會亂碼