最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何解决php word 乱码问题

来源:动视网 责编:小采 时间:2020-11-02 18:01:48
文档

如何解决php word 乱码问题

如何解决php word 乱码问题:php word乱码的解决办法:首先打开/Writer/Word2007/Base.php文件;然后添加$objWriter->writeAttribute(w:eastAsia, $font)内容;最后保存修改即可。推荐:《PHP视频教程》PHPword解决中文乱码一、增加东亚字体支持 打开并编辑路
推荐度:
导读如何解决php word 乱码问题:php word乱码的解决办法:首先打开/Writer/Word2007/Base.php文件;然后添加$objWriter->writeAttribute(w:eastAsia, $font)内容;最后保存修改即可。推荐:《PHP视频教程》PHPword解决中文乱码一、增加东亚字体支持 打开并编辑路


php word乱码的解决办法:首先打开“/Writer/Word2007/Base.php”文件;然后添加“$objWriter->writeAttribute(‘w:eastAsia’, $font)”内容;最后保存修改即可。

推荐:《PHP视频教程》

PHPword解决中文乱码

一、增加东亚字体支持

打开并编辑路径/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();
}

二、 解决中文乱码问题(此解法对于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 乱码问题

如何解决php word 乱码问题:php word乱码的解决办法:首先打开/Writer/Word2007/Base.php文件;然后添加$objWriter->writeAttribute(w:eastAsia, $font)内容;最后保存修改即可。推荐:《PHP视频教程》PHPword解决中文乱码一、增加东亚字体支持 打开并编辑路
推荐度:
标签: word 处理 乱码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top