Invalid_procedure_call_or_argument:_'chr' 解决方法

Microsoft VBScript runtime error '800a0005' - Invalid procedure call or argument:'Chr'  
最近发现有一个问题,就是很多人在是本地测试成功的程序,上传到美国服务器上后,发现后台的上传图片功能不行了,出现错误提示,如下(IIS日志): 
|75|800a0005|Invalid_procedure_call_or_argument:_'chr'

 当然了,除了上传图片功能不行之外,还有好多页面也出现类似的错误,但是仔细检查代码,没有发现代码错误,究竟是怎么回事呢?
以下就对Invalid procedure call or argument: Chr 错误做出解释,并提供解决方法给大家
出现这种错误的问题,主要原因空间放在英文系统下,而在英文系统下程序不能调用“Chr”函数导致的,只要将“chr”修改成“Chrw”就可以解决问题。


相关知识:
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 函数相同。


另外一个情况是如下错误:
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Chr'
Upload.asp, line 75
upload.asp 为无组件上传程序
出现如此错误可能是服务器用的是英文版本,因为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 函数相同。

所以把出错的line75行代码:stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))中的chr换成chrw就可以啦!




------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

今天把做好的ASP程序上传到美国服务器上,发现上传图片出现下面错误:

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'Chr'

Upload.asp, line 75

upload.asp 为无组件上传程序

出现如此错误可能是服务器用的是英文版本,因为

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 函数相同。

所以把出错的line75行代码:stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))中的chr换成chrw就可以啦!

 

 

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值