UTF-8编码下的Cookies出错 类型不匹配: ‘[object]‘

今天做网站的Cookies验证时候遇见了错误,报错的信息如下:

Microsoft VBscript 运行时错误 错误 ’800a000d’

类型不匹配: ‘[object]‘

/member/config.asp,行 16

于是我找到第16行代码:

response.Cookies(“userinfo”)(“realname”)=rs(“RealName”)

奇怪的是,我之前也是这么写的都没有出错,今天怎么会报错呢?找了半天原因,终于找到了。原因是我之前的网页编码用的是gb2312,而今天这个网 站是用的UTF-8编码,我现在从SQL数据库读出来的rs(“RealName”)值为Null,如果将Cookies的值赋为Null值就出错了。

问题找到了,我用了一个笨办法来解决:

首先我定义了一个函数nullstr(str),代码如下:

‘=====================将NULL的字符串转为空
function nullstr(str)
if isnull(str) then
nullstr=”"
else
nullstr=str
end if
end function

再将刚才出错的代码改成:

response.Cookies(“userinfo”)(“realname”)=nullstr(rs(“RealName”))

再运行,哈哈,成功了!

 

 

 

你可能感兴趣的:(function,object,Cookies,Microsoft,null,VBScript)