关于win2000中的IIS5不支持中文文件名的BUG

[ 2006-11-28 01:05:55 | 作者: admin ]
字号: | |
第一种方法,iis设置

在以IIS做web server时,有些中文名的文件会出现无法下载的情况。
个人测试结果:文件名为2个、4个中文字时无法下载,而1个、3个、5个时没有问题,其他情况未做测试。

测试环境:英文版windows 2000+IIS 5.0

有两种方法可以解决此问题:
在Web服务器端修改注册表,
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters]
  把1改成0,之后重新启动IIS即可。(如果此值已经是0,应该不会出现上述问题) [已测试.很不错的方法!


其他方法:
1、在资源管理器中打开 x:\winnt\system32\inetsrv\urlscan目录x对应windows安装的目录所在盘符]
2、用文本编辑器打开 1 中目录下的 urlscan.ini
3、在[option]栏中找到 AllowHighBitCharacters 项,并将其修改为 AllowHighBitCharacters=1
4、保存,退出。


完了重新启动iis5

第二种方法,在客户端修改IE设置
在客户端修改IE设置 把"总是以UTF-8发送URL"设置为不选中。(最好采用第一种方案,否则不会为每个访问者都去设置一下吧)

第三种方法,程序控制

Q:win200 server+iis,为什么在网页上,有的中文htm链接路径可以显示,有的不行?
A:'转换双字节字符为合法的URL传输字串
  function getUrlEncodel(byVal Url)
   Dim i,code
   getUrlEncodel=""
   if trim(Url)="" then exit function
   for i=1 to len(Url)
   code=Asc(mid(Url,i,1))
    If code<0 Then code = code + 65536
     If code>255 Then
     getUrlEncodel=getUrlEncodel&"%"&Left(Hex(Code),2)&"%"&Right(Hex(Code),2)
    else
     getUrlEncodel=getUrlEncodel&mid(Url,i,1)
    end if
     next
  end function

Q:IIS 所有的exe文件从上面的目录都不能下载,显示404 文件找不到 是什么原因?还是哪里设置错误?
A:设置一下http头--MIME类型,新建一个类型扩展名为EXE,类型为:application/octet-stream
[最后修改由 admin, 于 2006-11-28 01:10:52]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=748

这篇日志没有评论。

此日志不可发表评论。