He元素

Don't be shy just try!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

PHPWord中文乱码

我在 使用PHPWord$section->addText(),输出中文是遇到乱码,PHPWord 中文乱码解决如下:

第一步:打开phpword/Section.php文件,找到$givenText = utf8_encode($text);将其改为:$givenText = iconv( 'gbk','utf-8', $text);
第二步:打开phpword/template.php ,找到 $replace = utf8_encode($replace);改为 $replace = iconv( 'gbk','utf-8', $replace);

注意:如果页面是utf-8编码直接注释就解决了中文编码问题,但是ansi编码,你就要用iconv转换了
在输出的时候:

$section->addText(iconv('utf-8', 'GB2312//IGNORE', 'PHP点点通<phpddt.com>'),);

在输出的字符编码字符串后面加上"//IGNORE",可以忽略不能转换的字符,减少Noitce错误。

 

php生成word的方法:

直接上代码:定期更新吧

        vendor('PHPWord');
        $PHPWord = new \PHPWord();

        $section = $PHPWord->createSection();


        $section->addText('Hello world!');


        $section->addText('Hello world! I am formatted.', array('name'=>'Tahoma', 'size'=>16, 'bold'=>true));


        $PHPWord->addFontStyle('myOwnStyle', array('name'=>'Verdana', 'size'=>14, 'color'=>'1B2232'));
        $section->addText('Hello world! I am formatted by a user defined style', 'myOwnStyle');

        $section->addImage('1fccd5e6d986ca920c082c69e889e74b.jpg');

        $objWriter = \PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
        $objWriter->save('helloWorld.docx');

 

posted on 2016-08-19 13:55  He元素  阅读(332)  评论(0编辑  收藏  举报