You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Classic ASP中FolderExists遇ChrW(160)空格返回False的问题求助

解决Classic ASP中FolderExists无法识别含ChrW(160)空格的文件夹问题

问题核心是URL参数传递的ListName中包含非断行空格(ChrW(160)),而FileSystemObject的FolderExists方法只识别普通空格(Chr(32)),导致路径不匹配返回False;硬编码时用的是普通空格,所以能正常检测。

解决方案:替换非断行空格为普通空格

你之前尝试替换可能是写法有误,正确的替换方式是使用Replace函数将ChrW(160)替换为Chr(32),同时可额外处理首尾空白避免参数冗余:

Dim ListName, cleanedListName
ListName = Request("ListName")

' 替换ChrW(160)为普通空格
cleanedListName = Replace(ListName, ChrW(160), Chr(32))
' 可选:去除参数首尾多余空白
cleanedListName = Trim(cleanedListName)

' 使用清理后的名称执行文件夹检测
If fs.FolderExists("d:\web\localuser\mbweb.dk\public_html\mbwebaudio\" & userFolder & "\" & cleanedListName) Then
    Response.Write "true"
Else
    Response.Write "false"
End If

补充说明

  • 非断行空格(NBSP)通常来自复制粘贴或富文本输入,肉眼和普通空格无区别,但ASCII编码不同(ChrW(160) vs Chr(32))
  • 如果替换后仍有问题,可通过Asc(Mid(ListName, 位置索引, 1))输出具体字符编码,排查是否存在其他不可见字符并针对性替换

内容的提问来源于stack exchange,提问作者Morten Brockhoff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 01:49:56