<?php 
header("Content-Type:text/html;charset=utf-8");
$word=new word; $word->start(); 
?> <title>直接用php写word文档</title>
不行吗?<? 
$word->save("data.doc"); echo '<a href="data.doc" target=_blank>下载</a>'; 
class word 
{  
function start() 

ob_start(); 
print'<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) 


print "</html>"; 
$data = ob_get_contents(); 

ob_end_clean(); 

$this->wirtefile ($path,$data); 
}  function wirtefile ($fn,$data) 


$fp=fopen($fn,"wb"); 

fwrite($fp,$data); 
fclose($fp); 
} } 
?>  
为什么word中是乱码啊?

解决方案 »

  1.   

    header("Content-Type:text/html;charset=gb2312");呢
      

  2.   

    <title>直接用php写word文档</title>
    不行吗?
    改成:
    <?php
    echo iconv('utf-8','gb2312',"<title>直接用php写word文档</title>
    不行吗?");
    ?>
      

  3.   

    用PHP直接生成mht文档,只需把后缀改为doc就可以打开。其实也可以直接把.htm文件改成.doc,用word打开,但图片没办法加载。
      

  4.   

    我用php生成word,是用wordProcessingML