會知道adodb.stream有這個功能是因為我用winhttprequest物件去要求網頁時
該網頁回傳的是用 big-5 編碼的網頁 導致我出現亂碼
接著我上網搜尋在 vbscript 中作編碼轉換的資料 於是發現 adodb.stream 有這種功能
如以下例子
dim http : set http = createobject("WinHttp.WinHttpRequest.5.1")
http.Open "http://some_big-5_page.html"
http.Send
http.WaitForResponse
msgbox http.ResponseText
Dim oStream : Set oStream = CreateObject("adodb.stream")
oStream.Type = 1 '以二進位方式操作
oStream.Mode = 3 '可同時進行讀寫
oStream.Open '開啟物件
oStream.Write http.ResponseBody '將 content 寫入物件內
oStream.Position = 0 '從頭開始
oStream.Type = 2 '以文字模式操作
oStream.Charset="Big5" '設定編碼方式
msgbox oStream.ReadText()
在這裡會發現第一次 跳出來的視窗有亂碼 但是第二次的視窗就正常了
adodb.stream很好很強大 而且它支援多種編碼 不只是big-5
真的很方便
沒有留言:
張貼留言