dedecms生成中文名html文件
2010-03-16 21:32
dedecms生成文件用到了的函数在/include/dedetag.class.php中
//把分析模板输出为文件
function SaveTo($filename)
{
$fp = @fopen($filename,”w”) or die(”DedeTag Engine Create File False”.$filename);
fwrite($fp,$this->GetResult());
fclose($fp);
}
windows下,fopen()创建一个中文文件名的文件时问题就出来了,文件名都是乱码。原因是Windows默认的文字编码是ansi。
解决方法是用iconv函数。
我用的是utf-8的dedecms版本。把utf-8转成gb2312就可以避免中文文件名为乱码。
function SaveTo($filename)
{
$filename=iconv(’utf-8′,’gb2312′,$filename);
$fp = @fopen($filename,”w”) or die(”DedeTag Engine Create File False”);
fwrite($fp,$this->GetResult());
fclose($fp);
}
按如上更改函数就可以了。windows下不能用这几种符号\/:*?’<>|,要注意屏蔽。