-
-
$ua = $_SERVER["HTTP_USER_AGENT"];
$filename = "中国語ファイル名.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';
- ?>
-
-
コードをコピー
上記は、より一般的な解決策です(Xp+IE7では問題が発生すると言われていますが、未検証です)。
この問題は、CI-Excel-Generation-Library の使用時に発生しました。解決策:
-
プライベート関数 set_headers() { - $ua = $_SERVER["HTTP_USER_AGENT"];
- $filename = $this->filename ;
- $encoded_filename = urlencode($filename);
- $encoded_filename = str_replace("+", "%20", $encoded_filename); header("Pragma: public");
- header ("有効期限: 0");
- header("キャッシュ制御: 必須再検証、事後チェック = 0、事前チェック = 0");
- ヘッダー("コンテンツ タイプ: application/force-download");
- header("Content-Type: application/octet-stream");
//header("Content-Type: application/vnd.ms-excel;charset=UTF-8") ;
- header("Content-Type: application/download");;
- 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 . '"');
- }
- header("Content-Transfer-Encoding: binary ");
- }
- ?>< ;/p>
-
-
-
コードをコピー
|