我有一个充满内容的数据库(我认为)已从Word中剪切并粘贴到TinyMCE中。现在,我需要使用PHPWord(最新版本)将这些记录转换回Word文档。
数据中充满了html十六进制字符代码,例如“。和–我需要转回破折号,项目符号和引号。该代码非常适合作为UTF-8的浏览器使用,但我尝试过的任何工作都无法将其转换为Word文档。
没有任何操作会给我一个我无法打开的文件。
这给了我[[square]¢
$section = $this->phpWord->addSection();
$str = html_entity_decode($str);
HTMLParser::addHtml($section, $str, false);
虽然这给了我每个人一个正方形...
$section = $this->phpWord->addSection();
$str = html_entity_decode($str);
$str = mb_convert_encoding($str, "Windows-1252","UTF-8");
HTMLParser::addHtml($section, $str, false);
我可以使用字符串替换将破折号和引号转换为简单字符,但是客户确实希望使用智能引号和破折号。
感觉应该很容易修复,但是在编码问题上,我一直有一个心理障碍。
如果相关,这是我的下载标题
header("Content-Disposition: attachment;filename=".$filename.".docx");
header("Cache-Control: max-age=0");
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');