Microsoft VBScript runtime error ‘800a0005’ 错误的处理
你在配置ASP网站的时候有没有遇到过类似:Microsoft VBScript runtime error ‘800a0005’ 的错误,这些网站明明在本地测试都好好的,怎么放到服务器上就出问题了呢?下面我们就来讲讲这个错误产生的原因。
有时候配置ASP网站会遇到类似如下的错误:
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Chr'
/yourpage.asp, line 88
这些网站我们可能在本地测试过,是完全没有问题的,可是放到服务器上怎么就出问题了呢?
其实这个错误主要是因为我们编写网站的时候用的是中文版的系统,而服务器可能是英文版的,或者是英文版系统加装中文MUI的,所以才出现上述的问题。因为Chr 函数返回 String,其中包含有与指定的字符代码相关的字符 。
相关语法:
Chr(charcode)
必要的 charcode 参数是一个用来识别某字符的 Long。
说明:0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。
注意:
ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。
ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。
知道原因了,接下来就好办了。
解决方法:
把出错的line 88行代码中类似:
stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
中的chr换成chrw就可以了。

- AMD EPYC 四核心
- 内存: 8GB
- 硬盘: 200 GB SSD
- 10 Mbps CN2
- 免费1个IP
- 360元/月

- Dell R730xd 2x Xeon E5-2620v3 v12核24线程
- 内存: 64GB
- 硬盘: 4x2TB 硬体磁盘阵RAID 1
- 5M
- 免费5个IP
- 4190元/月

- Dell R430 2x Xeon E5-2620v3 12核24线程
- 内存: 32GB
- 硬盘: 2x2TB 硬体磁盘阵RAID 1
- 5M
- 免费5个IP
- 2890元/月

- Dell R430 Xeon E5-2620v3 6核12线程
- 内存: 16GB
- 硬盘: 2x2TB 硬体磁盘阵RAID 1
- 5M
- 免费5个IP
- 2390元/月

- Dell RDSS 1500 2xXeon E5-2620v4 16 核心32
- 内存: 32GB
- 硬盘: 2x2TB 硬体磁盘阵RAID 1
- 5M
- 免费5个IP
- 2690元/月
