把TOMCAT里的SERVER.XML改成这样试试
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
       URIEncoding="UTF-8"/>

解决方案 »

  1.   

    遇到同样的问题 可以这么解决 tks
      

  2.   

    服务器端文件路径转码URLEncoder.encode(filedisplay, "UTF-8");
      

  3.   

    java对中文路径是很敏感的,最好的解决办法是杜绝出现中文目录或中文的文件名称,
    一般外网的linux服务器也不允许出现中文路径,
    非得要中文名称,也不是不可以,只是不能直接用中文名称,
    文件名称用英文或数字,数据库存中文就行了,做下载的时候不要直接用该文件的url,
    而是用动态的url去处理,比如:http://www.abc.com/download.htm?id=1
    根据这个这个id去数据库找到对应的数据,根据这条数据找到该文件的路径和名称(可以是中文),
    再做下载(其实就是往客户端输出文件流):
    InputStream input = new FileInputStream(new File("该文件的磁盘路径"));
    OutputStream output = response.getOutputStream();
    byte[] buffer = new byte[1024];
    int i = 0;
    while ((i = input.read(buffer)) != -1) {
    output.write(buffer, 0, i);
    }
    input.close();
    output.flush();
    output.close();这样,android就能接收到文件流,再把文件流在手机上写成文件,就完成的下载的过程另外强调一点,中文名称只是在和用户交互的时候显示一下才用的,你的程序中大可不必用中文名称