源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

让服务器支持中文文件名下载的设置方法

  • 时间:2022-03-17 06:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:让服务器支持中文文件名下载的设置方法
这个问题讨论过很多次了,确实是ms的大bug,出现在远东语言版的iis上。除了骂鳖儿该死之外,你有五个选择: 1.   换用其他的web server,比如apache。   [强烈推荐本方法] 2.   不使用中文做文件名,可以用拼音来替代。   [推荐] 3.   使用中英文混合文件名(据称能回避bug,但未经完全测试,不能保证所有情况下都能正确访问)   [不推荐] 4.   等ms出补丁   [没希望了,不知道多久了,也没看到补丁] 5.   强制所有的用户都仅使用直接以本地中文编码发送url的浏览器   [你等着被用户抱怨吧] 其实解决方法很简单: 修改注册表 local   machine->   system->currentControlset->services->inetinfo-> paramters->favordbcs   由1改为0,重启iis即可 之所以能奏效,据我分析在于: 远东版的iis由于本地化的win2k采用的都是本地编码比如gbk或者shift-jis或者big5之类,这些编码都是双字节混合编码。 favordbcs的名字估计就是   “双字节编码习惯”。ms可能针对双字节编码作了智能判断的算法,或者是获得了较高的辨认优先级。 可惜ms可能有一些bug估计造成某些utf-8的编码和本地双字节编码产生冲突,距某些人说是会丢弃一个字节。 本来我准备做个完全的测试,不过现在既然有了这个workaround,就不必麻烦了。 问题在于,此方法肯定只是workaround,而且微软肯定早就知道,居然不公布,在ms网站上也搜索不到! ============ '转换双字节字符为合法的URL传输字串     
[u]复制代码[/u] 代码如下:
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
测试通过。 [b]iis 不能下载 中文rar文件[/b] 最近发现IIS不能下载中文名称的文件,觉得很奇怪。 版本:windows2003server+iis6 应该是没问题的啊。 上网查了一下,说: 在运行里打开注册表:桌面左下角“开始”菜单,运行,输入“regedit”,98版本是"regedit32",展开下面目录,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\ FavorDBCS 的值改为"0" 如果没有 FavorDBCS 右击新建 [字符串值] 或直接运行下面的reg文件
[u]复制代码[/u] 代码如下:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters] "favordbcs"="0"
然后重新启动IIS。 [b]IIS不能下载RAR文件,如何解决这个问题?[/b] 一,双击IIS管理器——IDC(本地计算机)——WEB服务扩展 二,右击WEB服务扩展——开启包含文件 三,设置完成,重启IIS
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部