项目中要用的php生成word文档,所以在网上找了一些资料找到了phpword但是中文总是乱码,下面是解决掉的办法
1、增加东亚字体支持
打开并编辑路径/Writer/Word2007/Base.php文件内容,大概在第349行(行数随着版本可能会有变化)大概函数_writeTextStyle内添加:
$objWriter->writeAttribute('w:eastAsia', $font)
2. 解决中文乱码问题
编辑PHPWord/Template.php,找到代码$replace = utf8_encode($replace);,删除或者注释掉这行代码,添加$replace = iconv( 'gbk','utf-8', $replace);
3 解决Section添加文本的问题,找到代码$givenText = utf8_encode($text);,删除或者注释掉这行代码,添加$givenText = iconv('gbk', 'utf-8', $text);4 $section->addText(iconv('utf-8','GB2312//IGNORE',$st));//$st为内容
下面是我自己改好的类库,大家可以直接使用。
https://github.com/cengjingyouguoai/phpwordChinese