我正在使用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上不行。
最佳答案
基于您的字体系列,dompdf将使用helvetica作为相关文本的字体。目前,dompdf(高达v0.6.0)只支持核心pdf字体的windows ansi编码(helvetica就是其中之一)。在windows ansi中,欧元符号位于128位,因此您可以尝试欧元。这与v0.5.1最为相关,v0.5.1不能很好地处理windows ansi字符集之外的字符。
从v0.6.0dompdf开始使用utf8。它还做了很多工作,以确保字符编码得到仔细处理。这对于避免从一个字符集移动到另一个字符集(例如从内部utf8编码到核心pdf字体的windows ansi)时出现问题特别重要。