<a href="../../ImportExcelTemplate.xls" target="_blank">下载导入Excel模板< /a>
这样是可以 链接到我所命名为ImportExcelTemplate.xls的excel。 
  可是如果改为:
<a href="../../导入模板.xls" target="_blank">下载导入Excel模板< /a>
就会报
HTTP Status 404 - /np-fy-sgb/%E5%8F%97%E4%B8%8D%E9%B8%9F.xls--------------------------------------------------------------------------------type Status reportmessage /np-fy-sgb/%E5%8F%97%E4%B8%8D%E9%B8%9F.xlsdescription The requested resource (/np-fy-sgb/%E5%8F%97%E4%B8%8D%E9%B8%9F.xls) is not available.
--------------------------------------------------------------------------------Apache Tomcat/6.0.29
就会找不到。后来
<a id="download" target="_blank">下载导入Excel模板</a>
<script languange="javascript" type="text/javascript">
    var url = "受不鸟.xls";
    var url= encodeURI(url,"UTF-8");
    alert(url);
    document.getElementById("download").setAttribute("href","../../"+url);
</script>
这样写还是报一样的错误。到底哪里写的不对呢,大神们,给指点下吧。小弟都弄了大半天了还是不行。

解决方案 »

  1.   

    你的网页文件是用UTF8编码的吗
      

  2.   

    进行url跳转时可以整体使用encodeURI例如: Location.href=encodeURI(http://cang.baidu.com/do/s?word=中国&ct=21);不需要加utf8
      

  3.   

    网页是UTF-8的,除了这个还要配置其他的么。比如tomcat么
      

  4.   

    试试看
    <a href="javascript:location.href='../../' + escape('导入模板') + '.xls';void(0);" target="_blank">下载导入Excel模板</a>
      

  5.   

    我的ie的默认编码是UTF-8的。其他的还有需要改的么
      

  6.   

    不行啊,地址栏会直接显示这个javascript:location.href='../../' + escape('导入模板') + '.xls';void(0);小弟js菜鸟,多多指教
      

  7.   

    问题解决了啊。原来是tomcat里 server.xml文件配置问题。
    在URL中传递参数,是通过HTTP报头来传递的.并不是类似于通过表单来传递,表单中传递的参数是在HTTP中的BODY中传送的.而设置字符过滤器只能起到过滤HTTP中BODY中的参数.而TOMCAT默认是ISO8859-1的编码方式,所以你在URL中传递过去后就是乱码了.而且过滤器也不管用了. 解决方法.直接改变TOMCAT的默认字符编码方式: tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码 需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:     <Connector port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"               enableLookups="false" redirectPort="8443" acceptCount="100"               debug="0" connectionTimeout="20000"               disableUploadTimeout="true"  useBodyEncodingForURI="true" URIEncoding="UTF-8"/> 中加入useBodyEncodingForURI="true" URIEncoding="UTF-8"就可以了.
    感谢楼上各位的回答,都让小弟对URL解码有了更深一层的认识,真心的感谢。
      

  8.   

    你这种方式是解决以get方式提交的乱码问题!如果换用post方式提交,是会出问题的,比如说表单提交