在PHP中,如果在IE浏览器中下载文件名乱码,可以尝试以下几种方法来解决:
$file = 'path/to/file.ext';
$filename = '文件名.ext';
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . rawurlencode($filename) . '"; filename*=utf-8\'\'' . rawurlencode($filename));
readfile($file);
$file = 'path/to/file.ext';
$filename = '文件名.ext';
$encodedFilename = iconv('UTF-8', 'GB2312', $filename);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $encodedFilename . '"');
readfile($file);
$file = 'path/to/file.ext';
$filename = '文件名.ext';
$encodedFilename = mb_convert_encoding($filename, 'GB2312', 'UTF-8');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $encodedFilename . '"');
readfile($file);
这些方法可以将文件名正确地编码为当前系统所支持的编码,以解决IE浏览器中下载文件名乱码的问题。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站