ホームページ >バックエンド開発 >PHPチュートリアル >phpexcelエクスポート中国語ファイル名エラー

phpexcelエクスポート中国語ファイル名エラー

WBOY
WBOYオリジナル
2016-06-20 12:45:521158ブラウズ

header("Content-Disposition:attachment;filename=$filename");
$filename が中国語の場合、ダウンロードされるファイルは .php になります。英語の場合は、

になります。


ディスカッションへの返信 (解決策)

試してみましょう

    $user_agent = $_SERVER['Http_User_agent'];      $encode_filename = rawurlencode($filename);     if(preg_match("/MSIE/", $user_agent)){          header('content-disposition:attachment; filename="'.$encode_filename.'"');      }else if(preg_match("/Firefox/", $user_agent)){          header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');      }else{          header('content-disposition:attachment; filename="'.$filename.'"');      }  

試してください

    $user_agent = $_SERVER['Http_User_agent'];      $encode_filename = rawurlencode($filename);     if(preg_match("/MSIE/", $user_agent)){          header('content-disposition:attachment; filename="'.$encode_filename.'"');      }else if(preg_match("/Firefox/", $user_agent)){          header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');      }else{          header('content-disposition:attachment; filename="'.$filename.'"');      }  



最初のテキストに問題があるようです。解決してください。

1 . header("Content-Disposition:attachment;filename = $filename"); パスのない純粋なファイル名である必要があります
2. phpexcel のデフォルトの文字セットは utf-8 であり、ほとんどの人は resource-プログラムファイルを保存するためにutf-8を無駄にします。 BOM ヘッダーが存在することは避けられません

実際、Microsoft は非常に配慮していますが、英語以外のシステムでは 2 バイトのみを使用します (utf-8 中国語は 3 バイトです)
a 全角中国語が理解できない人は、三バイト中国語も理解できないのです。では、いわゆる国際化は自分自身と他人を欺いているのではありませんか?

1. header("Content-Disposition:attachment;filename= $filename"); パスのない純粋なファイル名である必要があります
2. phpexcel のデフォルトの文字セットは utf- 8. ほとんどの人は、プログラム ファイルを保存するためにリソースを浪費する utf-8 を使用します。 BOM ヘッダーが存在する可能性は避けられません


解決しました。ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。