FPDF校准没有显示欧元标志


FPDF calibri not showing euro sign

我目前正在使用FPDF生成PDF报价。我想得到以下输出:

520欧元/年

这样做:

$pdf->Cell(20, 10, chr(128).' 520', 1, 0);

但fpdf只是显示了一个空白。我使用的是Calibri作为字体,我这样加载它:

$pdf->AddFont('Calibri', '', 'calibri.php');

但无济于事。有趣的是,chr 123到127和129等工作。欧元符号是唯一不出现的符号。有人知道怎么做这个吗?

更新:当我尝试时

$pdf->Cell(20, 10, utf8_decode('€ 520'), 1, 0);

我有个问号。它不应该是无效字体,因为我在calibri.php中发现了chr(128)。

我通过删除"128/.notdef"更改了calibri.php字体。不知怎么的,它在那之后起了作用。。。

尝试使用iconv

$euro = iconv('utf-8', 'cp1252', '€');
$pdf->Cell(20, 10, $euro.' 520'), 1, 0);

cp1252(西欧)php中的header()不会在pdf文件中打印您的请求,而是只在页面中打印。

这个也在工作,可以与包含多个€的字符串一起使用:

$this->Cell(140, 4, mb_convert_encoding($string, "Windows-1252", "UTF-8"), $border, 0, "L");

HTH