php读word出现乱码,如何解决php word 乱码问题-PHP问题

php word乱码的处理方法:起首关上“/Writer/Word2007/Base.php”文件;而后增加“$objWriter->writeAttribute(‘w:eastAsia’, $font)”内容;最初保留修正便可。

保举:《PHP视频教程》

PHPword处理中文乱码

1、添加东亚字体支持

关上并编纂门路/Writer/Word2007/Base.php文件内容,大略正在第349行(行数跟着版本可能会有变动)大略函数_writeTextStyle内增加:

$objWriter->writeAttribute(‘w:eastAsia’, $font)

比方我的修正片断根本是上面这样:

Font if($font != ‘Arial’) {

$objWriter->startElement(‘w:rFonts’);

$objWriter->writeAttribute(‘w:eastAsia’, $font);// 增加这行

$objWriter->writeAttribute(‘w:ascii’, $font);

$objWriter->writeAttribute(‘w:hAnsi’, $font);

$objWriter->writeAttribute(‘w:cs’, $font);

$objWriter->endElement();

}

2、 处理中文乱码成绩(此解法关于GBK编码有用,没有实用于UTF-8)

编纂PHPWord/Template.php

找到代码$replace = utf8_encode($replace);,删除了或许正文掉这行代码,增加$replace = iconv( ‘gbk’,’utf-8′, $replace);,比方代码改成以下:

if(!is_array($replace)) {

//$replace = utf8_encode($replace);

$replace =iconv(‘gbk’, ‘utf-8′, $replace);

// 正文掉下面行后增加这行

}

挪用形式以下:

$document->setValue(‘Template’, iconv(‘utf-8′, ‘GB2312//IGNORE’, ‘中文’));

下面的代码次要处理模板的成绩,

上面一样的情理,处理Section增加文本的成绩,

正在PHPWord/Section.php找到代码$givenText = utf8_encode($text);,

删除了或许正文掉这行代码,增加$givenText = iconv(‘gbk’, ‘utf-8′, $text);,比方代码以下:

public function addText($text, $styleFont = null, $styleParagraph = null) {

//$givenText = utf8_encode($text);

$givenText = iconv(‘gbk’, ‘utf-8′, $text);

// 正文掉下面行后增加这行

}

以上就是若何处理php word 乱码成绩的具体内容,更多请存眷资源魔其它相干文章!

本网站(www.ziyuanmo.com)刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等均由用户发表。

虚拟收费资源付款后概不退款,请考虑在三后支付!如有侵权可联系邮箱:ziyuanmo@admin.com,会在第一时间解决!

资源猫 » 如何解决php word 乱码问题-PHP问题

分享到:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值