我正在使用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上却没有。
答案 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)
尝试用
替换€符号€ € €