论坛首页 Web前端技术论坛

URL中包含中文文件名的问题

浏览 8633 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-07-17  
难道就不能先编码之后,再上传吗?下载的时候,再编码回来不就好了。
0 请登录后投票
   发表时间:2012-07-17  
楼主,看了你的做法,有隐患哦!
通过你的路径可以看出,你上传文件是放在应用目录下,当你下次重新部署应用时,这些文件会全部丢失!
0 请登录后投票
   发表时间: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" />
0 请登录后投票
   发表时间: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);
0 请登录后投票
   发表时间:2012-07-19  
而Apache又恰巧不能解析包含中文的url,中文都被解析成乱码了


中文URL 不处理的话,肯定是乱码,后台转码就OK了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics