PHP は、ブラウザのダウンロード ファイルで中国語名が文字化けする問題を解決します - ほとんどのブラウザと互換性があります
function sendFile($serverPath, $filename,$charset = 'UTF-8', $mimeType = 'application/octet-stream') { // 文件名乱码问题 if (preg_match("/MSIE/", $_SERVER["HTTP_USER_AGENT"])) { $filename = urlencode($filename); $filename = str_replace("+", "%20", $filename);// 替换空格 $attachmentHeader = "Content-Disposition: attachment; filename=\"{$filename}\"; charset={$charset}"; } else if (preg_match("/Firefox/", $_SERVER["HTTP_USER_AGENT"])) { $attachmentHeader = 'Content-Disposition: attachment; filename*="utf8\'\'' . $filename. '"' ; } else { $attachmentHeader = "Content-Disposition: attachment; filename=\"{$filename}\"; charset={$charset}"; } $filesize = filesize($serverPath); //header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: {$mimeType}"); header($attachmentHeader); header('Pragma: cache'); header('Cache-Control: public, must-revalidate, max-age=0'); header("Content-Length: {$filesize}"); readfile($serverPath); exit; }