国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP+FSO生成的網頁文件默認編碼格式以及轉換成UTF-8編碼方法

ASP+FSO生成的網頁文件默認編碼格式以及轉換成UTF-8編碼方法

2019-09-07 15:14asp之家 ASP教程

有一個客人的網站想做一個俄文版,前臺后臺,我統一用utf-8編碼,但通過數據庫生成的靜態俄文信息是亂碼。如果用GB2312顯示,通過數據庫生成的靜態俄文信息正確顯示, 但模板文件俄文是亂碼。

具體特征如下: 
1、通過模板實現俄文正常。 
2、通過后臺數據庫生成的靜態俄文信息,后臺顯示正常, 前臺亂碼。 
3、英文正常。 
和該主題相關的類似或不同表達 
FSO寫UTF-8編碼文件 
FSO怎么才能生成utf-8編碼的文件 
FSO生成的文件默認是什么編碼格式 
如何轉換成UTF-8編碼 
FSO生成靜態網頁的問題 
ASP中用FSO生成文件代碼如下 

復制代碼代碼如下:


function createfile(sfilename,scontent) 
set fso=server.CreateObject("scripting.filesystemobject") 
set f1=fso.opentextfile(sfilename,2,true,-1) 
f1.write(scontent) 
f1.close 
set fso=nothing 
end function 


fso.opentextfile(sfilename,2,true,-1) 最后一個參數-1是指定編碼格式為Unicode,編碼格式為Unicode在網頁顯示的是UTF-16 little-endian。 
OpenTextFile方法 
創建指定文件并返回TextStream對象,該對象可用于讀或寫創建的文件。 
object.OpenTextFile(filename[, iomode[, create[, format]]]) 
參數 object,必選項。應為FileSystemObjec或Folder對象的名稱。 這里是fso。 
filename,必選項。字符串表達式,指明要創建的文件。 這里是sfilename。 
iomode,可選參數,表示該文件是被用來讀、寫還是追加,默認為1表示讀,2表示寫操作,8表示追加操作。 
create,可選參數,如果文件不存在是否創建,默認為false,如果希望進行創建,則設置為true。 
format,參數可為下列設置之一,默認為ASCII格式,并沒有我們要的utf-8: 
TristateUseDefault -2 以系統默認格式打開文件。 
TristateTrue -1 以Unicode格式打開文件。 
TristateFalse 0 以ASCII格式打開文件。 
FSO的編碼屬性只有三種,系統默認,Unicode,ASCII,并沒有我們要的utf-8,所以一般中文系統上使用FSO組件生成的文件都是gb2312編碼格式。 
解決方法一 
GB2312編碼包含俄語字母,如果頁面設置為簡體中文GB2312, 那么俄文能夠正常顯示, 但由于中文默認“宋體”顯示,在 “宋體”中俄語會顯示為全角字符,很難看,所以要采用外文字體,如“新羅馬”或“Arial”等。中國客戶那里可以交差, 但真正的俄國人瀏覽頁面時, 就需要下載和安裝中文,很不理想, 很可能導致放棄瀏覽網頁。 
解決方法二 
ASP由于是一種古老的語言,它的一些功能對UTF-8支持非常差。FSO不支持直接生成UTF-8格式的文件,因為它無法指定需要的文件格式,比如,想生成一個UTF-8格式的文件,使用常用的Scripting.FileSystemObject對象就不行。必須換一種思路,用Adodb.Stream,當前一些blog程序就是這樣實現的,如zblog。 
Scripting.FileSystemObject 對象創建文件的函數,是下面方式: 
FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]]) 
其中的unicode屬性是這樣描述的: 
可選項。Boolean值指明是否以Unicode或ASCII文件格式創建文件。如果以Unicode文件格式創建文件,則該值為True;如果以ASCII文件格式創建文件,則該值為False。如果省略此部分,則假定創建ASCII文件。 
鮮然,無法用這個函數來創建UTF-8格式文件。 
使用ADODB.Stream對象,使用方法見下面: 

復制代碼代碼如下:


Set objStream = Server.CreateObject("ADODB.Stream") 
With objStream 
.Open 
.Charset = "utf-8" 
.Position = objStream.Size 
.WriteText=str 
.SaveToFile server.mappath("/sitemap.xml"),2 
.Close 
End With 
Set objStream = Nothing 


附錄:ASCII、Unicode、UTF-8介紹 
ASCII是一種字符集,包括大小寫的英文字母、數字、控制字符等,它用一個字節表示,范圍是0-127。 
由于ASCII表示的字符非常有限,各個國家或者地區在此基礎上提出了自己的字符集,比如在中國應用非常廣泛的GB2312,它為漢字提供了編碼,用兩個字節表示。 
這些字符集之間互不兼容,相同的數字可能表示不同的字符,為信息交流帶來了麻煩。 
Unicode是一種字符集,它將世界上的所有字符映射成一個唯一的數字(code point),比如字母a對應的數字0x0041。目前Unicode還處于發展中,它所包容的字符越來越多。 
在將Unicode表示的字符進行存儲時,還需要一定的編碼方式,比如UCS-2,它用兩個字節來表示Unicode編碼的字符。而UTF-8是Unicode字符集的另外一種編碼方式,它是變長度的,最多6個字節,小于127的字符用一個字節表示,與ASCII字符集的結果一樣,因而具有非常好的兼容性,ASCII編碼下的英語文本不需要修改就可以當作UTF-8編碼進行處理,應用非常廣泛。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: av小说在线观看 | 久久久久久九九九 | 婷婷久 | 福利视频一区二区三区 | 久久久九九 | 欧美精品一区二区三区四区在线 | 一区二区不卡视频 | 一区二区三区四区日韩 | 伊人激情影院 | 成人综合电影网 | 在线国产一区二区 | 久久精品a一级国产免视看成人 | 亚洲一区二区三区视频 | 国产成人一级毛片 | 综合另类 | 欧美 日韩 国产 一区 | 欧美狠狠 | 日韩在线免费播放 | 久久成人免费视频 | 色接久久 | 欧美国产日韩在线 | 人人爱超碰 | 午夜私人影院在线观看 | 日本精品一区二区三区在线观看 | 精品国产乱码久久久久久久软件 | 在线日韩成人 | 欧美精品一区二区三区蜜桃视频 | 精品国产一区二区三区在线观看 | 亚洲成人一区 | 亚洲欧美自拍视频 | 91国内外精品自在线播放 | 欧美不卡 | 欧美a在线| 波多野结衣一二三 | 亚洲一区国产精品 | 欧美激情五月 | 青青草一区二区 | 夜夜骑日日操 | 性色网址 | 国产一区在线视频播放 | 国产精品免费观看 |