2017-02-28 50 views
0

我无法获得欧元符号(€)以显示在生成的.docx中。我得到的只是一个方形的形状。无法获得欧元符号(€)显示在phpword生成的docx中

我的第一个想法是它是一个编码问题,但在我的脚本的任何地方都没有指定编码。我已经为HTML页面指定了字符集,并且在其他项目的SQL数据库中指定了字符集(UTF8会这样做),但是所讨论的实现都不使用。

发生在我身上的另一件事是,docx在服务器上创建,并从那里下载打印。服务器环境可能会被指责吗?在线时,我看不到任何更改docx编码的方法。

理想情况下,我想要一个文档内修复,而不是让托管公司修改设置。

这是代码:

$textrun->addText('If you wish to have a script remarked we will charge €35 for this.); 

回答

1
$fa_euro = html_entity_decode('', 0, 'UTF-8'); 
$section->addText(utf8($fa_euro)); 

谷歌是您的朋友: https://github.com/PHPOffice/PHPWord/issues/780

而且在脚本的顶部设置此:

mb_internal_encoding("UTF-8"); 
+0

我试过昨天。它没有工作。 – Benjamin

+0

你使用的是最新版本的phpword吗? –

+0

是的。以.json文件 “规定”:{ “phpoffice/phpword”: “V0.13 *” }} 当 – Benjamin

0

phpword不要” t支持特殊符号,如&或< or> etc ..解决它我用过这个:

$n = htmlspecialchars("your string with special chars"); 
$section->addText($n);