把TOMCAT里的SERVER.XML改成这样试试
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
一般外网的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就能接收到文件流,再把文件流在手机上写成文件,就完成的下载的过程另外强调一点,中文名称只是在和用户交互的时候显示一下才用的,你的程序中大可不必用中文名称