$content = "ÆØÅ";
$html2pdf = new HTML2PDF('P', 'A4', 'en');
$html2pdf->writeHTML($content, false)
$html2pdf->Output('', 'S'));
给我一个PDF文件与"ÆÃ≈Ã"
我检查了编码在html2pdf.class.php,它被设置为UTF-8应该是好的。
我试着把"en"改成"da"(丹麦语),结果还是一样。
我该如何解决这个问题?花了好几个小时找…
要在html2pdf:
中看到奇怪的UTF8字符,必须做两件事:- 设置'UTF-8' 编码,正如Erik已经建议的那样
- 使用html2pdf:
freeserif
中唯一的UTF-8字体
我知道这是一个老问题,但我需要一些要点:
看起来您指定了错误的输出编码。例如,如果您尝试将UTF-8输出显示为ISO8859-1,则会得到典型的输出。
看起来HTML2PDF构造函数也有一个接受字符编码作为参数的版本:
$html2pdf = new HTML2PDF('P','A4','da', true, 'UTF-8');
你可以使用这个PHP函数
utf8_decode($article_content);
如果不工作,唯一的解决方案是使str_replace()
$content = "ÆØÅ";
$code_html = array("Æ","Ø","Å");
$caract_sp = array("Æ","Ø","Å");
str_replace($code_html, $caract_sp, $content);
对于任何其他特殊字符,您可以在这里看到等效的HTML代码:http://www.toutimages.com/codes_caracteres.htm