来自php的单词的特殊字符/ Unicode /特殊符号

时间:2017-01-22 06:58:22

标签: php ms-word converter special-characters htmlspecialchars

我正在使用COM从PHP生成word文档。将转换字符转换为生成无用汉字和一些数字的单词书签模板时,我遇到了一个大问题。

这是我在php中的字符串值 - Brüel & Kjær

生成 - Brüel & Kjær1墄

后,这是word文档的文本

这是我在php中的转换方式:

$text="Brüel & Kjær";
$text = iconv(mb_detect_encoding($text, mb_detect_order(), true), "UTF-8",$text);
$text = htmlspecialchars_decode($text);
$text=html_entity_decode($text, ENT_QUOTES, 'utf-8');

这是如何将COM书签变量添加到值:

$PHPWord = new COM("word.application", NULL, CP_UTF8);
$PHPWord->Documents->Open(realpath($template));
$bookmark = $PHPWord->ActiveDocument->Bookmarks("bookmark1");
$bookmark = $bookmark->Range;
$bookmark->Text=$text;
$PHPWord->Documents[1]->SaveAs('temp/' . $template);

我在我的代码中遇到了字符转换问题。但我在互联网上搜索,我找不到解决我的问题的工作方案。能帮忙解决这个问题吗?

是他们将html发送到此书签或任何转换的方式?

1 个答案:

答案 0 :(得分:0)

OMG几乎完成了这个:

$text="Brüel & Kjær";

$PHPWord = new COM("word.application", NULL, CP_UTF8);

替换为:

$PHPWord = new COM("word.application");
$PHPWord->Documents->Open(realpath($template));
$bookmark = $PHPWord->ActiveDocument->Bookmarks("bookmark1");
$bookmark = $bookmark->Range;
$bookmark->Text=html_entity_decode($text);
$PHPWord->Documents[1]->SaveAs('temp/' . $template);