我们可以在下载文件时,通过设置Content-disposition头部信息来指定文件名。解决中文乱码问题的方法是,将中文文件名进行urlencode编码。 示例代码如下: “`php $filename = “中文文件名.txt”; header(“Content-disposition: attachment; filename=” . urlencode($filename)); “` 2. 设置HTTP头部信息的Content-Typ...
在上述代码中,通过urlencode函数对中文文件名进行URL编码,然后在设置content-disposition头部时,使用filename属性的UTF-8编码。这样就能够解决中文文件名乱码的问题。 二、使用URL编码解决乱码问题 使用PHP函数rawurlencode对中文文件名进行URL编码,然后将编码后的文件名添加到下载链接中。 “`php $file = ‘中文文件名.t...
把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。 输出的header实际上是这样子: 1 Content-Disposition: attachment; filename=中文 文件名.txt 其实按照RFC2231的定义,多语言编码的Content-Disposition应该这么定义: 1 Content-Disposition: at...
header('Content-Disposition: attachment; filename=' . $filename); print "Hello!"; > 但是,如果$filename是UTF-8编码的,有些浏览器就无法正常处理了。比如把上面那个程序稍稍改一下: 复制代码 代码如下: $filename = "中文 文件名.txt"; header('Content-Type: application/octet-stream'); header('Co...
PHP中,如果要下载的文件名称为中文,则会出现文件标题乱码。 此时就需要对标题进行编码,也就是说先进性urlencode,然后再放入header,然后问题就解决了。 1 2 $filename = urlencode("下载文档"); header ( "Content-disposition: attachment; filename=$filename.xls" ); 网上说,在RFC2231的定义里面, 多语言...
在处理中文文件名时,直接在HTTP头中使用中文常会导致乱码,因为HTTP头默认采用ISO-8859-1编码,不支持中文。通过编码文件名并在Content-Disposition中正确引用,可以保证中文文件名在下载时正常显示。 一、问题背景和常见原因 在Web开发中,文件下载是一个常见的功能。PHP作为服务器端脚本语言,处理文件下载的需求较为频繁...
把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。 输出的header实际上是这样子: Content-Disposition: attachment; filename=中文 文件名.txt 其实按照RFC2231的定义,多语言编码的Content-Disposition应该这么定义: Content-Disposition:...
1、php中文乱码的解决方法关于php中文乱码的解决方法一、PHP网页编码1. php文件本身的编码与网页的编码应匹配a) .如果欲使用gb2312编码,那么php要输出头:header ( aContent-Type: text/html; charset=gb2312r,),静态页面 添力 fKmetah ttp - equiv二"Conte nt -Type" content二"text/html;charset=gb2312H...
("Content-Type: application/force-download"); header('Content-Type: application/vnd.ms-excel; charset=utf-8'); header("Content-Transfer-Encoding: binary"); $filename = urlencode('export_'.date("Y-m-d-His").'.xls'); header("Content-Disposition: attachment; filename='.$filename.'");...
header(”Content-Disposition: attachment; filename=\”$file_name\”"); header(”Content-Transfer-Encoding: binary”); readfile($file_path); $file_type是文件的类型,$file_name是原来的名字,$file_path是保存在服务上文件的地址。 四、为什么会乱码 一般来说,乱码的出现有2种原因,首先是由于编码(chars...