为什么 一点就说无法显视呢?

北极海hein 2003-09-29 12:01:19
为什么<a href="测试下载.zip"></a> 一点就说无法显视呢?
<a href="testbook.zip"></a>就没问题,
请问是什么原因呢?以前我也用过中文做文件名都可以,
昨天在另一台机器装了IIS,用中文名就不行了.
...全文
139 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zag 2003-09-29
  • 打赏
  • 举报
回复
在Web.config中加入字符集声明
programmeraaron 2003-09-29
  • 打赏
  • 举报
回复
要是所在服务器不是自己的话,可能会检查字付格式,会被禁止
seesea125 2003-09-29
  • 打赏
  • 举报
回复
web.config
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
chengzhele37 2003-09-29
  • 打赏
  • 举报
回复
不要用中文就是了
slippers3000 2003-09-29
  • 打赏
  • 举报
回复
这是由于GB2312和UTF-8两种不同的编码方式造成的!
你可以到工具-=》IE 选项-=》高级-=》最下面的“总是以UTF-8方式发送URL”取消,这样你保证可以不管什么奇数\偶数\中文都正常使用了!
所以你现在要把你的链接用函数进行编码转换!
我以前收集的方法如下: 希望可以帮助到你,我以前就是用 server.urlencode("http://xxx/中文.zip") 解决了的
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
----------------------------------------------------------------------
server.urlencode("http://xxx/中文.zip")
----------------------------------------------------------------------
这是VBScript的,用来代替server.urlencode的:
<%
Function getURL(URL)
dim I,Code,C

For I=1 To Len(URL)
C=Mid(URL,I,1)
Code =Asc(C)
If Code<0 Then Code = Code + 65535
If Code>255 Then
getURL = getURL & "%"&Left(Hex(Asc(C)),2) & "%"&Right(Hex(Asc(C)),2)
Else
getURL = getURL & C
End If
Next
End Function
%>
<a href="<%=getURL("http://192.168.100.84/职教档案/天津职教/呼叫中心宣传资料.ppt"%>">下载</a>


你这样试试
<a href="http://192.168.100.84/职教/天津/**.doc ">下载</a>
鼠标右键-〉目标另存为,看能否下载
---------------------------------------------------------------
用UTF-8编码
<%@ Language=VBScript codepage=65001 %>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>


听说可以这样转化,没试过:
GB2312 -- UTF-8
iconv("GB2312","UTF-8",$text)

UTF-8 -- GB2312
iconv("UTF-8","GB2312",$text)

-------------------------------------------------------------------------
<script>

function chineseFromUtf8Url(strUtf8)
{
var bstr = "";
var nOffset = 0; // processing point on strUtf8

if( strUtf8 == "" )
return "";

strUtf8 = strUtf8.toLowerCase();
nOffset = strUtf8.indexOf("%e");
if( nOffset == -1 )
return strUtf8;

while( nOffset != -1 )
{
bstr += strUtf8.substr(0, nOffset);
strUtf8 = strUtf8.substr(nOffset, strUtf8.length - nOffset);
if( strUtf8 == "" || strUtf8.length < 9 ) // bad string
return bstr;

bstr += utf8CodeToChineseChar(strUtf8.substr(0, 9));
strUtf8 = strUtf8.substr(9, strUtf8.length - 9);
nOffset = strUtf8.indexOf("%e");
}

return bstr + strUtf8;
}

function unicodeFromUtf8(strUtf8)
{
var bstr = "";
var nTotalChars = strUtf8.length; // total chars to be processed.
var nOffset = 0; // processing point on strUtf8
var nRemainingBytes = nTotalChars; // how many bytes left to be converted
var nOutputPosition = 0;
var iCode, iCode1, iCode2; // the value of the unicode.

while (nOffset < nTotalChars)
{
iCode = strUtf8.charCodeAt(nOffset);
if ((iCode & 0x80) == 0) // 1 byte.
{
if ( nRemainingBytes < 1 ) // not enough data
break;

bstr += String.fromCharCode(iCode & 0x7F);
nOffset ++;
nRemainingBytes -= 1;
}
else if ((iCode & 0xE0) == 0xC0) // 2 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
if ( nRemainingBytes < 2 || // not enough data
(iCode1 & 0xC0) != 0x80 ) // invalid pattern
{
break;
}

bstr += String.fromCharCode(((iCode & 0x3F) << 6) | ( iCode1 & 0x3F));
nOffset += 2;
nRemainingBytes -= 2;
}
else if ((iCode & 0xF0) == 0xE0) // 3 bytes
{
iCode1 = strUtf8.charCodeAt(nOffset + 1);
iCode2 = strUtf8.charCodeAt(nOffset + 2);
if ( nRemainingBytes < 3 || // not enough data
(iCode1 & 0xC0) != 0x80 || // invalid pattern
(iCode2 & 0xC0) != 0x80 )
{
break;
}

bstr += String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
nOffset += 3;
nRemainingBytes -= 3;
}
else // 4 or more

bytes -- unsupported
break;
}

if (nRemainingBytes != 0)
{
// bad UTF8 string.
return "";
}

return bstr;
}

function utf8CodeToChineseChar(strUtf8)
{
var iCode, iCode1, iCode2;
iCode = parseInt("0x" + strUtf8.substr(1, 2));
iCode1 = parseInt("0x" + strUtf8.substr(4, 2));
iCode2 = parseInt("0x" + strUtf8.substr(7, 2));

return String.fromCharCode(((iCode & 0x0F) << 12) |
((iCode1 & 0x3F) << 6) |
(iCode2 & 0x3F));
}
alert(chineseFromUtf8Url("%E6%B5%8B%E8%AF%95"))
</script>
北极海hein 2003-09-29
  • 打赏
  • 举报
回复
sp3应该没问题的,因为我有一台IIS机器打了sp3,无论是中文还是英文的文件名都没问题.
我另一台打了sp4,装完IIS,dotnetframework1.1就出现这种情况.

顺便再问一下:IIS,donetframework,sql2000 server 的安装顺序是否有影响?
我记得以前的帐子曾提到安装顺序的问题.
declude 2003-09-29
  • 打赏
  • 举报
回复
是不是打了sp3??
北极海hein 2003-09-29
  • 打赏
  • 举报
回复
machineconfig具体怎么搞?
suguanqun 2003-09-29
  • 打赏
  • 举报
回复
最好用英文!不然总出问题!
netcar 2003-09-29
  • 打赏
  • 举报
回复
machineconfig
adminlxj79 2003-09-29
  • 打赏
  • 举报
回复
我以前也遇到过此问题,解决方法是重装了.NET所有组件和相关组件更新,然后就好用了!

按照这个方法,肯定能行!!
北极海hein 2003-09-29
  • 打赏
  • 举报
回复
我加了
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
还是不行.
gujie 2003-09-29
  • 打赏
  • 举报
回复
用英文名
Re: 《文件备份与压缩命令》 ---------------------------------------内容提要: 1/6)tar   命令:打包备份/解压打包(将文件或目录的压缩或不解压查看查看)2/6)gzip  命令:压缩或解压文件3/6)zip   命令:打包和压缩文件4/6)unzip 命令:解压zip文件5/6)scp   命令:远程文件复制(全量备份)6/6)rsync 命令:文件同步工具(增量备份)  本人在教学和实战过程中发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作中,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。 对一个士兵来,枪就是他的武器,对于一个程序员来,各种library(工具库)就是他的武器;而对于Linux运维人员来,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。 研磨每一个命令就是擦拭手中的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手中的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功! 本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题中来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。 本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学中就不再赘述! 《参透 VMware 桌面级虚拟化》 《在虚拟机中安装模版机(包括应用软件等)》 《SecureCRT 连接 GNS3/Linux 的安全精密工具》

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧