mpdf php 库不显示英镑货币符号 £

mpdf php library do not show pound currency sign £

我正在使用 mPDF php 库创建付款收据 PDF 文件,我正在使用英镑货币符号和金额。

生成 PDF 后,它显示 ÂŖ 符号而不是 £。我已经在文档中添加了UTF-8字符编码。

任何人遇到同样的问题请告诉我它的解决方案。

重现它的示例代码如下所示。您可以在 GitHub url.

下载或克隆 mPDF 库
    require_once '/inc/mpdf/vendor/autoload.php';
    $mpdf = new \Mpdf\Mpdf(['tempDir' =>  '/inc/mpdf/tmp']);
    $mpdf->allow_charset_conversion = true;
    $mpdf->charset_in = 'iso-8859-4';


    $mpdf->SetDisplayMode('fullpage');
    $mpdf->list_indent_first_level = 0;
    $mpdf->SetTitle('Transparent hands Tax Receipt');


    $html ="Total Amount £ 45,00";
    $mpdf->WriteHTML($html);
    $mpdf->Output('Tax Receipt.pdf', 'D');
    if (!$mpdf->send()) {
        throw new Exception('Could not create Tax Receipt: '.$mpdf->getError());
    }
    die();

以上代码的输出如下所示。预期结果应为总金额 £ 45,00

Total Amount ÂŖ 45,00

您的代码可能是 UTF 格式,删除

$mpdf->charset_in = 'iso-8859-4';

行。 £ 字符无法在 iso-8859-4 中表示。

使用上述设置,mPDF 会尝试将 re-encode 个字符从 iso-8859-4 转换为 UTF,这会导致井号被损坏为 ÂŖ

或者,使用 HTML 实体 £ 而不是 £ 字符 - 这对所有编码都是安全的。