This article describes the solution to the problem of Chinese garbled characters in cross-browser PHP download file names. Share it with everyone for your reference. The details are as follows:
Copy code The code is as follows:
$ua = $_SERVER["HTTP_USER_AGENT"];
$filename = "Chinese file name.txt";
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
if (preg_match("/MSIE/", $ua)) {
header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
header('Content-Disposition: attachment; filename*="utf8''' . $filename . '"');
} else {
header('Content-Disposition: attachment; filename="' . $filename . '"');
}
print 'ABC';
?>
I hope this article will be helpful to everyone’s PHP programming design.