首页 > 代码库 > PHP生成word的方法(解决乱码问题)

PHP生成word的方法(解决乱码问题)

<?phpclass word{ function start(){ob_start();echo<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40">;}function save($path){ echo "</html>";$data = ob_get_contents();ob_end_clean(); $this->wirtefile ($path,$data);} function wirtefile ($fn,$data){$fp=fopen($fn,"wb");fwrite($fp,iconv("UTF-8","GBK",$data));fclose($fp);}}$html = ‘ <table width=600 cellpadding="6" cellspacing="1" bgcolor="#336699"> <tr bgcolor="White">   <td>PHP10086</td>   <td><a href="http://www.php10086.com" target="_blank" >http://www.php10086.com</a></td> </tr> <tr bgcolor="red">   <td>PHP10086</td>   <td><a href="http://www.php10086.com" target="_blank" >http://www.php10086.com</a></td> </tr> <tr bgcolor="White">   <td colspan=2 >   PHP10086<br>   最靠谱的PHP技术博客分享网站   <img src="http://www.php10086.com/wp-content/themes/WPortal-Blue/images/logo.gif">   </td> </tr> </table> ;  //批量生成 for($i=1;$i<=3;$i++){     $word = new word();     $word->start();     //$html = "aaa".$i;     $wordname = ‘PHP10086.com‘.$i.".doc";     echo $html;     $word->save($wordname);     ob_flush();//每次执行前刷新缓存     flush(); }?>

网上普遍都有这个方法,但是真正运行起来 文件名如果是中文的情况下 会是乱码,而word的汉字也是乱码,必须用

iconv("UTF-8","GBK",$data)转化字符编码才能正常显示汉字

PHP生成word的方法(解决乱码问题)