欧元符号不会显示在dompdf生成的pdf中

时间:2012-09-06 12:15:41

标签: linux utf-8 fonts dompdf

我正在使用dompdf库来生成pdf。我需要输出一个欧元符号(€),但它只显示一个正方形。我尝试直接使用符号或代码€和我使用的字体系列如下:

    font-family: Arial, "Helvetica", Arial, "Liberation Sans", sans-serif;

我把它放在:

<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

它在Mac上工作正常,但在Linux上却没有。

2 个答案:

答案 0 :(得分:1)

根据您的字体系列,dompdf将使用Helvetica作为相关文本的字体。目前dompdf(最高v0.6.0)仅支持核心PDF字体的Windows ANSI编码(其中Helvetica是其中之一)。在Windows ANSI中,欧元符号位于128位置,因此您可以尝试€。这与v0.5.1最相关,它不能很好地处理Windows ANSI字符集之外的字符。

从v0.6.0开始,dompdf本身使用UTF8。它还需要做更多的工作来确保仔细处理字符编码。这对于避免从一个字符集移动到另一个字符集时出现问题尤其重要,例如从内部UTF8编码转换为Windows ANSI用于核心PDF字体。

答案 1 :(得分:1)

尝试用

替换€符号
&#0128;  &euro;  &#8364;