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

这个问题讨论过很多次了,确实是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传输字串     

复制代码 代码如下:

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

测试通过。

iis 不能下载 中文rar文件

最近发现IIS不能下载中文名称的文件,觉得很奇怪。

版本:windows2003server+iis6

应该是没问题的啊。

上网查了一下,说:

在运行里打开注册表:桌面左下角“开始”菜单,运行,输入“regedit”,98版本是"regedit32",展开下面目录,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\

FavorDBCS 的值改为"0" 如果没有 FavorDBCS 右击新建 [字符串值]

或直接运行下面的reg文件

复制代码 代码如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters]
"favordbcs"="0"

然后重新启动IIS。

IIS不能下载RAR文件,如何解决这个问题?

一,双击IIS管理器——IDC(本地计算机)——WEB服务扩展
二,右击WEB服务扩展——开启包含文件
三,设置完成,重启IIS

时间: 2024-07-31 16:03:17

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

CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法_服务器其它

本文实例讲述了CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法.分享给大家供大家参考,具体如下: 如何让centos(redhat)配置虚拟主机,让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可. 里面有个example文件,你只要对应配置即可. #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # Do

Apache,IIS下Discuz x1.5伪静态设置方法_服务器其它

1.如是Apache服务器,操作如下: 建立.htaccess文件,在该文件里面写入如下伪静态规则: 复制代码 代码如下: # 将 RewriteEngine 模式打开 RewriteEngine On # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 / RewriteBase /discuzxx # Rewrite 系统规则请勿修改 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^to

Win2003服务器高安全配置(冰盾防火墙设置方法)_win服务器

答案是否定的,首先我想说:        我认为目前Linux的家庭用户比较少,在用户量方面Linux是敌不过Windows的,因为大部分游戏,应用软件等都是基于win平台VB,VC,C#等开发的,而且目前电脑初学者学习的教材方面大部分都是关于Windows的,至少这几年,十几年内微软应该还是win霸主.在Linux挖掘出一个漏洞,能通过利用此漏洞广为传播病毒的计算机感染数量很少,所以Linux的漏洞价值不是很高.而且玩Linux的高手我认为大部分是技术型的,不屑于去追求那些蝇头小利以及炫耀什么

如何让PHPnow支持wordpress静态化链接的方法_服务器其它

PHPnow有一个优势就是直接装好了ZendOptimizer,当然一般人是用不到这个的,暂且略过. 在我的试验中,XAMPP对wordpress静态化是直接支持的.PHPnow虽然也是打开了apache的mod_rewrite模块,但是对wordpress的静态化还要依赖于.htaccess这个文件(有可能XAMPP也是这样). 配置方法如下. 首先到wordpress所在的目录下,找到.htaccess文件,用记事本编辑它. 如果没有这个文件,那就要麻烦一点,你需要先打开记事本,文件另存为,

PHP 木马攻击的防御设置方法_服务器其它

1.防止跳出web目录 首先修改httpd.conf,假如您只允许您的php脚本程式在web目录里操作,还能够修改httpd.conf文档限制php的操作路径.比如您的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行: php_admin_value open_basedir /usr/local/apache /htdocs 这样,假如脚本要读取/usr/local/apache/htdocs以外的文档将不会被允许,假如错误显示打开的话会提

jsp的&amp;amp;lt;object /&amp;amp;gt;标签可以支持中文吗?如何设置?

问题描述 jsp的<object/>标签可以支持中文吗?如何设置? 解决方案 解决方案二:这是神马意思.解决方案三:没明白啥意思!

中文SSID无线网络设置方法

中文SSID无线网络设置的妙处 SSID是Service Set Identifier的缩写,意思是:服务集标识.SSID技术可以将一个无线局域网分为几个需要不同身份验证的子网络,每一个子网络都需要独立的身份验证,只有通过身份验证的用户才可以进入相应的子网络,防止未被授权的用户进入本网络. SSID是个笼统的概念,包含了ESSID和BSSID,用来区分不同的网络,最多可以有32个字符,无线网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以查看当前区

PHP中file_exists()判断中文文件名无效的解决方法_php技巧

本文实例讲述了PHP中file_exists()判断中文文件名无效的解决方法.分享给大家供大家参考.具体方法如下: php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效.本文就来解决此问题,下面我们一起来看看. 定义和用法:file_exists() 函数检查文件或目录是否存在. 如果指定的文件或目录存在则返回 true,否则返回 false. 例子1 复制代码 代码如下: <?php

如何让Nginx支持中文文件名具体设置步骤_nginx

首先得让你的系统有中语语言包: 设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置.如果显示其他编码需要按如下步骤设置. CentOS 编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi.nano或winscp图形管理软件,依个人口味选择) LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 保存,重启系统. Debian apt-get inst