2013-05-08 181 views
0

我有一個文件,它使用網站做特定的查詢並返回通過HTML標題所需的數據。當使用提供的SQL查詢將返回的數據寫回文件時,它可以正常工作。如果查詢中有特殊字符,則停止在該點。HTML VBS特殊字符處理

導致問題的字符的示例是「?」,「〜」,「_」。我試圖找到幾個可以回來的數據,但還沒有確定一種新的功能。

這是目前當它回來了,我怎麼導出數據:

Set objExportFile = objFso.OpenTextFile(exportFileLocation, 8, True, -1) 
objExportFile.Writeline(objHead.responseText) 
objExportFile.Close 

感謝,

回答

0

我會嘗試一次寫一個字,看看它是否停止的地方而言,運行這與Cscript.exe將代替WScript.exe的:

Set objExportFile = objFso.OpenTextFile(exportFileLocation, 8, True, -1) 

sCharacterData = "" 
sCharacterData = objHead.responseText 'write the response to a variable 
wscript.echo("Character Length of sCharacterData: " & Len(sCharacterData)) 

vCharNumber = 0 'set the index 

Do Until vCharNumber > Len(sCharacterData) 'loop through all the characters 
    sCurrentChar = Mid(sCharacterData, vCharNumber, 1) 
    wscript.write("CharNumber: " & vCharNumber & " Char: " & sCurrentChar) 

    objExportFile.Write(sCurrentChar) 'write 1 character 
    vCharNumber = vCharNumber + 1 'increment index 
Loop 

objExportFile.Close 
+0

得到一個錯誤消息,MID基本上不是一個函數,不知道我是否需要包括我目前不是的東西。 – user2363377 2013-05-08 19:16:34

+0

粘貼確切的消息或屏幕截圖。 Mid是VBScript的一個內置函數。 – 2013-05-08 22:47:01

+0

腳本:\\ scriptlocation.vbs 行:136 字符:3 錯誤:無效的過程調用或參數: '中' 代碼:800a0005 源:Microsoft的VBScript Runtine錯誤 線136:sCurrentChar = MID(scharacterdata, vcharnumber,1) – user2363377 2013-05-09 00:34:08

0

你可以做這樣的事情

Dim BadChar(2) 
Dim Char 
Dim header 
BadChar(0) = "?" 
BadChar(1) = "~" 
BadChar(2) = "_" 

header = objHead.responseText 
For Each Char in BadChar 
If InStr(header, Char) Then 
    header = replace(header, Char, "") 
End If 
Next 
Set objExportFile = objFso.OpenTextFile(exportFileLocation, 8, True, -1) 
objExportFile.Writeline(header) 
objExportFile.Close 
+0

我得到的錯誤消息是錯誤的參數數量或無效的屬性分配:'objhead.reponseText' @丹 – user2363377 2013-05-08 19:45:40