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元/月