由於 windows 主要編碼為Big5,所以force_download在ie下載遇到中文時,會出現亂碼,因此在執行
但又希望程式自動判別客戶端是使用哪個作業系統,而不必手動改來改去,因此可以透過以下php程式碼進行判別,並重新轉碼。
參考資料:http://www.php.net/manual/en/function.php-uname.php
force_download($name, $data);
之前需先將$name的編碼轉成big5,才不會出現亂碼。但又希望程式自動判別客戶端是使用哪個作業系統,而不必手動改來改去,因此可以透過以下php程式碼進行判別,並重新轉碼。
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'){
//為windows 需要轉為 big5編碼
$name = mb_convert_encoding($name,"big5","utf8");
}
force_download($name, $data);
沒有留言:
張貼留言