LINUNX下PHP下载中文文件名代码】的更多相关文章

        function get_basename($filename){                 return preg_replace('/^.+[\\\\\\/]/', '', $filename);              }              $file = "/tmp/你好.txt";         $filename = get_basename($file);           header("Content-type: appl…
开发中大家都是使用的utf8编码,昨天遇到一个奇坑,本是一件很小的问题,解决也浪费了个吧小时.废话不多说,植入正题: 文件下载方式:通过header二进制流文件下载需求: 文件上传保留文件名不变数据字段file_url值:/public/upload/files/2019/04-29/中文测试包.rar linux(Ubuntu 18.04.2 LTS )文件目录:/home/wwwroot/web/public/upload/files/2019/04-29 windows10文件目录:D:\…
//遇到的现象是,下载含有中文文件名的文件时,能获取到文件,但是使用IE正常,使用firefox,chrome文件名却乱码.//既然如此,就区分一下浏览器再返回好了,处理方式如下 //RESTfull @RequestMapping(path = { "/down/{fileId}" }, method = { RequestMethod.GET }) public ResponseEntity<byte[]> handlerDownload(@PathVariable S…
重点就在于添加  "attachment;filename*=utf-8'zh_cn'" + fileName //遇到的现象是,下载含有中文文件名的文件时,能获取到文件,但是使用IE正常,使用firefox,chrome文件名却乱码. //既然如此,就区分一下浏览器再返回好了,处理方式如下 //RESTfull @RequestMapping(path = { "/down/{fileId}" }, method = { RequestMethod.GET })…
原因:响应头设置content-disposition,主要遵循 RFC 5987标准. response.setHeader("content-disposition","attachment;filename*=UTF-8''" + URLEncoder.encode(fileName,"UTF-8")); 说明: content-disposition 消息头 指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以…
主要就是在响应头设置content-disposition,主要遵循 RFC 5987标准. response.setHeader("content-disposition","attachment;filename*=UTF-8''" + URLEncoder.encode(fileName,"UTF-8"));…
处理过程 根据IE的F12中的log提示,是因为http头信息中的编码替换了html文件中的编码.我最初的思路是设置Tomcat默认编码,但是我发现我已经在Server.xml中设置过,想到这里我想到了上篇文章的文件重命名的问题,准备去写个filter去修改http响应头,但是我突然明白,SpringMVC应该会处理过,但是为什么无效呢,这种成熟的框架不应该会有bug存在,于是我尝试在SpringMVC的xml中配置SourceHttpMessageConverter等转换器,都无效. 发现原因…
python中的中文编码一直以来都是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢?在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为u'\u54c8\u54c8',而str,是一个字节数组,这个字节数组表示的是对unicode对象编码(可以是utf-8.gbk.cp936.GB2312)后的存储的格式.这里它仅仅是一个字节流,没有其它的含义,如果你想使这个字节流显示的内容有意义,就必须用正…
转自:http://www.imhdr.com/991/ HTTP 下载文件,中文文件名在 Firefox 下乱码问题 最近帮助一同事解决 HTTP 下载文件时,中文文件名在 Firefox 下乱码的问题,我的同事在 http header 中是这样操作的: "Content-Disposition","attachment;filename=文件名.xx" 其实,按照  rfc231 , Content-Disposition 应该按照如下格式设置: "…
前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UTF-8.所名不是编码问题造成的.使用firefox8 测试很正常.猜想是因为ie的某些特殊的设置导致的问题. 2.以"PHP ie 下载 文件名乱码"为关键字搜索.果然,ie对中文文件名的下载文件是需要特殊处理的. 3.网上一哥们如是说: 如果$file_name是UTF-8编码的,比如文…