2016-08-02 190 views
1

我已经使用dompdf 0.5.1来生成PDF文件。但特殊字符没有正确显示。dompdf显示问号的特殊字符?

例如,Enter image description here

它在生成的PDF文件中显示类似– “的东西。

我在由dompdf渲染的HTML页面中使用了UTF-8编码,如 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

我也已经使用编码之前,它发送到dompdf,如 $dompdf->load_html(utf8_decode($html));

但我得到?标记而不是上述字符。

如何解决上述问题?

回答

1

Dompdf 0.5.1对Windows ANSI编码不支持的字符提供有限的支持。如果您需要支持这些字符,您应该至少更新为Dompdf 0.6.2。尽管如果可以,我推荐使用Dompdf 0.7.0

您需要提供支持角色的字体(请参阅Unicode How-To),但只要您不尝试渲染CJK字符,则可能需要使用包含的DejaVu字体。

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <style> 
    * { font-family: DejaVu Sans, sans-serif; } 
    </style> 
</head> 
<body> 
    <p>—</p> 
</body> 
</html> 

此外,你应该永远使用作为utf8_decode()它会破坏性转换为ISO-8859-1编码。通过破坏性的方式,我的意思是它会改变字符,它不能直接用问号(?)转换为iso-8859-1。

+0

我更新到Dompdf 0.6.2 ..它工作正常。谢谢@BrianS。 –