此记录集无法以XML格式保存到DOM中。
某些列数据中包含特殊字符。我可以遍历每个记录和Response.Write()字段而不会发生错误。
Set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open Application("conn_string")
Set objCommand = Server.CreateObject("ADODB.Command")
Set objDOM = Server.CreateObject("Msxml2.DOMDocument.3.0")
objCommand.ActiveConnection = Application("conn_string")
spQry = "SP_QUERY"
objCommand.CommandText = spQry
objCommand.CommandType = adCmdStoredProc
Set objRs = objCommand.Execute
objRS.save objDOM, adPersistXML //Error occurs here
Set objCommand = Nothing
objRS.Close
adoCn.Close
Set objRS = Nothing
错误:未知错误
如果我重新输入数据库中的文本,从而摆脱了特殊字符,一切正常。
我尝试添加以下内容以查看它是否有帮助,但到目前为止没有运气:
Response.CodePage = 65001
Response.Charset="UTF-8"
有没有人知道如何将此记录集保存到DOM中是否有特殊字符?
[编辑] 添加了文字图片
[EDIT2] 执行查询后尝试传输记录集:
不幸的是,我没有做到这一点,在设置Charset时出现错误:"The parameter is incorrect"
,错误实际发生在oStream.ReadText
行。当我注释掉Charset时,最后的Response.Write只显示方括号。
Set objRs = objCommand.Execute
sXML = ""
Set oStream = Server.CreateObject("ADODB.Stream")
oStream.Charset = "utf-8" //This produced an error: The parameter is incorrect
oRecordset.save oStream, adPersistXML
oStream.Position = 0
sXML = oStream.ReadText
oStream.Close
Set oStream = Nothing
Response.Write("[" & sXML & "]")
答案 0 :(得分:0)
我找不到显示数据的方法。所以我手动修改了db中的文本,因为只有4条记录。
当处理并插入或更新表单数据时,我最终在数据输入端解决了这个问题。
我通过文本循环分析每个字符剥离所有非键盘字符,产生一个干净的字符串。