$broswerType = $this->getUserAgentBrowserType (); //获取浏览器类型 $sName = $this->getAttachmentHead ( $sName, $broswerType ); //解决乱码问题 header ( "Content-Type: application/vnd.ms-excel; charset=" . $sEncoding ); header ( "Content-Disposition: inline;" . $sName ); /** * ,解决中文文件名称乱码问题 * @param $new_filename * @param $broswerType */ function getAttachmentHead($new_filename = "", $broswerType = "msie") { switch ($broswerType) { case "msie" : return "filename=/"" . urlencode ( $new_filename ) . ".xls/""; break; case "opera" : return "filename*=UTF-8''" . $new_filename . ".xls/""; break; case "safari" : return "filename=/"" . urlencode ( $new_filename ) . ".xls/""; break; case "applewebkit" : return "filename=/"". urlencode ( $new_filename ) ."/""; break; case "firefox" : return "filename*=UTF-8''" . $new_filename . ".xls /""; break; default : return "filename=/"" . urlencode ( $new_filename ) . "ot.xls/""; break; } } /** * 获取浏览器的类型 */ function getUserAgentBrowserType() { $userAgent = strtolower ( $_SERVER ["HTTP_USER_AGENT"] ); if (strpos ( $userAgent, 'msie' ) !== false) { return "msie"; } else if (strpos ( $userAgent, 'firefox' ) !== false) { return "firefox"; } else if (strpos ( $userAgent, 'applewebkit' ) !== false) { return "applewebkit"; } else if (strpos ( $userAgent, 'opera' ) !== false) { return "opera"; } else if (strpos ( $userAgent, 'safari' ) !== false) { return "safari"; } else { return "other"; } }