Maison  >  Article  >  développement back-end  >  Comment résoudre le problème des fichiers chinois tronqués téléchargés par PHP

Comment résoudre le problème des fichiers chinois tronqués téléchargés par PHP

藏色散人
藏色散人original
2020-11-17 09:31:022884parcourir

Solutions aux fichiers chinois tronqués téléchargés depuis PHP : 1. Changez l'encodage de la page en utf8 ; 2. Urlencodez l'URL chinoise et détectez-la en fonction de l'UA pour obtenir des téléchargements différenciés.

Comment résoudre le problème des fichiers chinois tronqués téléchargés par PHP

Recommandé : "Tutoriel vidéo PHP"

Le fichier de téléchargement d'en-tête PHP a un nom chinois tronqué dans IE Problème de nom de fichier

Introduction : Il existe deux manières courantes de résoudre le nom de fichier chinois tronqué des fichiers téléchargés en-tête PHP dans IE L'une consiste à modifier l'encodage de la page en utf8 et l'autre. pour saisir le codage urlencode pour l'URL chinoise, selon la détection UA, différents téléchargements peuvent être résolus par $filename = "Chinese.

Pour résoudre le nom de fichier chinois tronqué du fichier de téléchargement d'en-tête PHP dans IE, il existe deux problèmes courants. L'un consiste à changer le codage de la page en utf8, l'autre consiste à saisir le codage urlencode pour les URL chinoises. Selon la détection UA, différents téléchargements peuvent être résolus

$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 . '"');
}
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn