我有一个包含(我认为)从 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');