使用UTF-8编码的VBB3论坛在下载中文附件时,在IE下会出现乱码,而在Firefox下正常,经过摸索,终于发现了解决方法,与诸君分享:
打开attachment.php文件,查找:
header('Cache-control: max-age=31536000');
header('Expires: ' . gmdate("D, d M Y H:i:s", TIMENOW + 31536000) . ' GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $attachmentinfo['dateline']) . ' GMT');
在其后添加:
if (!isset($isIE))
{
static $isIE;
$isIE = iif(is_browser('ie'), true, false);
}
if ($isIE)
{
$attachmentinfo[filename] = iconv("UTF-8","GBK",$attachmentinfo[filename]);
}
若没有iconv库,但是Linux主机,可以将后半部分替换为:
if ($isIE)
{
$cmd = "echo '$attachmentinfo[filename]' | iconv -f UTF-8 -t GBK";
$attachmentinfo[filename] = shell_exec($cmd);
}