锁定老帖子 主题:URL中包含中文文件名的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-07-17
难道就不能先编码之后,再上传吗?下载的时候,再编码回来不就好了。
|
|
返回顶楼 | |
发表时间:2012-07-17
楼主,看了你的做法,有隐患哦!
通过你的路径可以看出,你上传文件是放在应用目录下,当你下次重新部署应用时,这些文件会全部丢失! |
|
返回顶楼 | |
发表时间:2012-07-17
最后修改:2012-07-17
..你的存放文件的服务器是什么?tomcat ?weblogic?
在启动文件设置一下字符集就好了。 如果每个jsp都要编码,那得写多少。你那只是绕过了问题。 原因还是因为中间件在解析请求的时候,用了默认的编码格式,这个都是可以在中间件这边设置 weblogic在启动文件中加 set JAVA_OPTIONS=-Dfile.encoding=UTF-8 tomcat 在server.xml设置 <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" useBodyEncodingForURI="true" disableUploadTimeout="true" URIEncoding="utf-8" /> |
|
返回顶楼 | |
发表时间:2012-07-18
String fileName = "下载数据详情_"+downTimes+".xls";
fileName = java.net.URLEncoder.encode(fileName,"UTF-8"); response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment; filename="+fileName); |
|
返回顶楼 | |
发表时间:2012-07-19
而Apache又恰巧不能解析包含中文的url,中文都被解析成乱码了
中文URL 不处理的话,肯定是乱码,后台转码就OK了 |
|
返回顶楼 | |