【发布时间】:2012-07-23 22:32:09
【问题描述】:
我想使用 mpdf 创建我的 PDF 文件,因为我使用挪威字母,例如 ÆØÅ。 PDF 文件上的信息主要由用户以 HTML 形式编写的文本组成。但是,我有一些问题。
使用此代码时:
$mpdf->WriteHTML('Text with ÆØÅ');
PDF 将显示特殊字符。
但是当使用这个时:
<?php
include('mpdf/mpdf.php');
$name = 'Name - <b>' . $_POST['name'] . '</b>';
$mpdf = new mPDF();
$mpdf->WriteHTML($name);
$mpdf->Output();
exit;
?>
特殊字符不会显示。
HTML 表单如下所示:
<form action="hidden.php" method="POST">
<p>Name:</p>
<input type="text" name="name">
<input type="submit" value="Send"><input type="reset" value="Clear">
</form>
为什么用这种方法不显示特殊字符?我应该使用哪种方法?
【问题讨论】:
-
这可能是一些编码问题。尝试 $mpdf->WriteHTML(utf8_encode($name)); 作为开始。您的网站是 UTF8 还是 Latin1 编码的?您应该以相同的编码获得 POST 数据,也许您需要另一个用于 mpdf。
-
使用 $mpdf->WriteHTML(utf8_encode($name));没解决。
-
文档说它支持 UTF8 编码的 HTML,所以这似乎不是问题。在网页上回显 $name 会产生预期的结果,我猜?
-
回显时字符不显示。
-
所以这不是 mpdf 的问题,而是您的网站的一般问题。我刚刚检查了我的网站,我安装了一些聊天工具,并且你的角色工作正常。我在那里做的唯一一件事就是用 utf8 对整个网站进行编码,并在 POST 数据上使用 htmspecialchars() 来防止恶意内容,但这在这里应该没有效果。你设置了编码吗?
标签: forms fpdf html-encode mpdf