如果真是<a href="音乐.mp3">音乐.mp3</a>类的汉字href的话,
注意web服务器的设置,不同的web服务器设置不同,你用什么服务器?一般说来,做href的话要把中文encode后再用,才有通用性....如php里:<a href="<?echo rawurlencode("音乐.mp3");?>">音乐.mp3</a>

解决方案 »

  1.   

    这与你的服务器无关的.
    不知道你留意了没有,很多使用中文文件名提供下载的站点,都有这样一句话:
    "请把Internet选项中的 始终使用UTF-8发送URL 前面的勾去掉."只要去掉这个勾就可以了.对于APACHE服务器 还有一种方法 是把目录列表出来 然后点击下载 但不推荐--------附加提一下 把中文URL编码 有时会引起一起问题的.
      

  2.   

    <?
    $link=mysql_connect("localhost","user","pws");
    $select=mysql_select_db("test",$link);
    $query="select * from software";
    $result=mysql_query($query,$link);
    $i=mysql_fetch_array($result);
    echo "<a href='$i[2]'>QQ</a>";
    ?>
    $i[2]的值是一个以中文命名的文件,
    TO小:我试过了在IE的属性里,我并没有去掉你所说的那项,但在9SKY或SOGUA.COM里下载MP3,也可以下载(我用的是FLASHGET)!TO虫:不好意思,我问的不是这个,你看看我的CODE吧!令到您问非所答,非常抱歉!
      

  3.   

    嗯,用flashget等不受这个限制呀.我说的是直接用IE下载.你的代码有什么问题吗?我觉得很正常...麻烦你把问题再清楚的陈述一次..
      

  4.   

    TO小:呵呵~!~是吗?!这个我可不知道.
    但是奇怪的是:我用FALSHGET在别人的站里下载就没错误,
    但是在我自己的网站里下载就出错误了! 
    我有这样一个表:software
    ID        NAME       PATH
    0         软件1      x:\dir1\dir2\软件1.EXE
    1         软件2      x:\dir1\dir2\软件2.EXE
    3         软件3      x:\dir1\dir2\软件3.EXE
    ////////用以下的程序读取记录:
    <?
    $link=mysql_connect("localhost","user","pws");
    $select=mysql_select_db("test",$link);
    $query="select * from software";
    $result=mysql_query($query,$link);
    $i=mysql_fetch_array($result);
    echo "<a href='$i[2]'>QQ</a>";
    ?>
    现在'$i[2]'的值是"x:\dir1\dir2\软件3.EXE",我说得对吗?!
    但是只要我下载时,就会出现错误,但要是把"x:\dir1\dir2\软件3.EXE"改为"x:\dir1\dir2\software3.exe",下载时就没错误,能正常下载.
    那是不是表明在MYSQL的记录里或HTML里的<A>标记不能用中文呢?!
    若能,该怎写呢?!
      

  5.   

    首先提醒你:href后写url,不能绝对地址!否则只能在你的电脑上用,不能异地访问!再也可以:echo "<a href='".rawurlencode($i[2])."'>QQ</a>";
      

  6.   

    TO:虫,
    我想知道"rawurlencode()"是什么意思???