Home >Backend Development >PHP Problem >How to solve the problem of garbled Chinese files downloaded by PHP

How to solve the problem of garbled Chinese files downloaded by PHP

藏色散人
藏色散人Original
2020-11-17 09:31:022935browse

Solutions to garbled Chinese files downloaded from php: 1. Change the page encoding to utf8; 2. Urlencode the Chinese URL and detect it based on UA ​​to achieve differentiated downloads.

How to solve the problem of garbled Chinese files downloaded by PHP

Recommended: "PHP Video Tutorial"

PHP Header download file has Chinese garbled name in IE file name Problem

Introduction: There are two common ways to solve the problem of Chinese garbled characters in IE file names when downloading PHP Header files. One is to change the page encoding to utf8, and the other is to enter urlencode encoding for the Chinese URL. , according to UA detection, different downloads can be solved $filename = "Chinese.

To solve the Chinese garbled file name of PHP Header downloaded file in IE, there are two common problems. One is to change the page encoding to utf8, the other is to enter urlencode encoding for Chinese URLs. According to UA detection, different downloads can be solved.

$filename = "中文.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$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 . '"');
}

The above is the detailed content of How to solve the problem of garbled Chinese files downloaded by PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn