关于ASP检测网页编码的有关问题

关于ASP检测网页编码的问题
Function GetHttpPage(HttpUrl)
Set Http=server.createobject("MSX"&"ML2.XML"&"HTTP")
Http.open "GET",HttpUrl,False
Http.Send()
If Http.Readystate<>4 and Http.status<>200 then
Set Http=Nothing
Exit function
End if
Set ore = New RegExp
ore.Pattern = "<meta[^>]+charset=[""]?([\w\-]+)[^>]*>"
ore.Global = True
ore.IgnoreCase = True
Set Matches = ore.execute(Http.responseText)
If(Matches.count>0)Then
GetHTTPPage=bytesToBSTR(Http.responseBody,Matches(0).submatches(0))
Else  
'GetHTTPPage=Http.responseText  '没有找到编码则不转换编码
GetHTTPPage=bytesToBSTR(Http.responseBody,"gb2312") '没有找到编码则转换为GB2312
End if
Set Http=Nothing
End Function

上面是我写的用ASP采集时候自动检测网站源码功能,用了挺久都是正常的。
今天偶然发现采集一个页面的时候,那个页面只有几个汉字:更新出错,然后代码就会报错,报错的位置在Set Matches = ore.execute(Http.responseText)这行,更诡异的是经过我测试,如果把更新出错改成:你好你好,代码就正常运行。
搞了一个通宵还没找到问题所在,请大家帮忙看下是不是见鬼了?
------解决思路----------------------
为什么一定要用中文?? 改用 1 或者 0 之类的 不用考虑编码