嗨,我有一个PHP字的问题。当我在文件中使用重音字符时,文件已损坏且无法打开。
<?php
require_once 'PHPWord.php';
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate('Documents/LM.docx');
$document->setValue('Value1', "example with accent évian");
$document->save('Documents/LMD.docx');
?>
答案 0 :(得分:1)
我假设您的代码生成一个未使用特殊重音字符时未损坏的word文件。但无论如何,你可以试试下面的版本吗? loadTemplate函数在0.13.0版本中已弃用,而应使用TemplateProcessor而不是+ htmlspecialchars包装通常应用于文本内容。
$templateProcessor = new PhpWord\TemplateProcessor('Documents/LM.docx');
$templateProcessor->setValue('Value1', htmlspecialchars('example with accent évian', ENT_COMPAT, 'UTF-8'));
$templateProcessor->saveAs('Documents/LMD.docx');
这对我有用,与PhpWord 0.13.0没有任何问题