2013-05-08 91 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