PHP生成word的方法(解决乱码问题)
2014-09-20 10:26
513 查看
<?php class 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生成excel时单元格内换行问题的解决方法
- PHP 出现乱码和Sessions验证问题的解决方法!
- php 各种应用乱码问题的解决方法
- 使用mule生成WSDL中文乱码问题解决方法
- PHP生成excel时单元格内换行问题的解决方法
- PHP 从数据库Mysql中读取数据生成excel(解决乱码问题,解决中文变问号问题)
- php miniBB中文乱码问题解决方法
- PHP环境下utf8乱码的解决方法---apache/php配置问题
- Windows下利用Gvim写PHP产生中文乱码问题解决方法
- php+AJAX传送中文会导致乱码的问题的解决方法
- eclipse 生成javadoc乱码问题解决 方法
- 关于PHP中出现乱码和Sessions验证问题的解决方法!
- php_xmlhttp 乱码问题解决方法
- PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
- php中文乱码问题及解决方法
- 关于PHP中出现乱码和Sessions验证问题的解决方法!
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
- php miniBB中文乱码问题解决方法
- Word中格式刷过之后,公式会靠上问题的解决方法------如何在word中生成mathtype菜单
- 利用Ecipse生成Javadoc乱码(编码问题)终极解决方法