$ua = $_SERVER["HTTP_USER_AGENT"];
$filename = "客户数据.xls";
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
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 . '"');
}

数据导出,会有一些乱码问题,这是google到的解决方案,针对IE和FF做了不同的处理,IE文件名需要urlencode处理,FF需要加utf8前缀,真不知道这两种浏览器这是什么怪脾气....

05-17 22:21