途中で発生した問題は、送信された中国語のファイル名をヘッダーに直接配置すると、IE で文字化けしてしまうことです。解決策は、次のように、最初にファイル名を URL エンコーディングしてからヘッダーに配置することです。
コードをコピーします コードは次のとおりです:
$file_name = urlencode($_REQUEST['filename'])
header("Pragma: public"); : 0" );
header("キャッシュ制御: 必須再検証、事後チェック = 0、事前チェック = 0");
ヘッダー("コンテンツ タイプ: application/force-download");
header( 'Content-Type: application/vnd.ms-excel; charset=utf-8');
header("Content-Transfer-Encoding: binary");
header('Content-Disposition:attachment; filename='.$ file_name);
echotripslashes($_REQUEST['content']);
?> 1 つは、中国語の URL の URLencode エンコードを入力することです。
解決策 1 (私のページは utf-8 でエンコードされています):
コードをコピーします
コードは次のとおりです:
$filename = "English.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 . '"');
}
解決策 2
次のように、最初にファイル名を Urlencode してヘッダーに挿入します。
コードは次のとおりです:
コードをコピーします
コードは次のとおりです:
$file_name = urlencode($_REQUEST['filename']); header("Pragma: public"); header(" 有効期限: 0"); header("Cache-Control: must-revalidate、post-check=0、pre-check=0");
header("Content-Type: application/force -download");
header ('Content-Type: application/vnd.ms-excel; charset=utf-8');
header("Content-Transfer-Encoding: binary");
header('Content-Disposition : ファイル名='。$file_name);
;
http://www.bkjia.com/PHPjc/323364.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/323364.html技術記事途中で発生した問題は、送信された中国語のファイル名をヘッダーに直接配置すると、IE で文字化けしてしまうことです。解決策は、次のように、最初にファイル名を URL エンコーディングしてからヘッダーに配置することです。 コードをコピー...