我正在寫一個vbscript從網頁中提取一些數據,去掉幾個關鍵信息並將它們寫入文件。字符編碼Vbscript中的Microsoft.XmlHttp
此刻我的腳本訪問的網頁並保存文件內容爲一個字符串是這樣的:
Set WshShell = WScript.CreateObject("WScript.Shell")
Set http = CreateObject("Microsoft.XmlHttp")
'Load Webpage where address is URL
http.open "GET", URL, FALSE
http.send ""
'Assign webpage contents as a string to variable called Webpage
WEBPAGE = http.responseText
我需要將內容保存到一個字符串,所以我可以在其上使用正則表達式拉出我需要的內容。
這個腳本完美的工作,除了當頁面包含非標準字符(如é)時。當頁面包含這樣的內容時,腳本會拋出一個錯誤並停止。
我猜這是與編碼有關,但我不知道如何解決它。任何人都可以將我指向正確的方向嗎?謝謝你們
編輯
由於這裏幫助我意識到我問錯了問題!事實證明,我正在下載內容 - 問題是,之後我試圖編輯它並將其寫入文件,並且文件格式錯誤。我有這樣的:
Set objTextFile = objFSO.OpenTextFile(OutputFile, 8, True,)
將其更改爲這樣:
Set objTextFile = objFSO.OpenTextFile(OutputFile, 8, True, -1)
似乎已經解決了。多麼瘋狂的世界,呃?謝謝您的幫助。
除非,我太傻了,我還是想不通出來。拿這個頁面爲例:http://en.wikipedia.org/wiki/? - 它看起來像是utf-8,但是當我將它粘在accept-charset中時,它仍會拋出同樣的錯誤。我想可以將文件作爲二進制文件加載,但我不想這樣做,因爲我想在輸出之前處理字符串。 – Simon 2011-06-06 21:16:56
順便一提,謝謝你的幫助! – Simon 2011-06-06 21:17:14
其實,忍耐着我,我有一個戲...可能會去吧! – Simon 2011-06-07 20:22:04