问题描述
我正在使用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
解决方法
您的代码可能是UTF,请删除
$mpdf->charset_in = 'iso-8859-4';
行。 £
不能用iso-8859-4
表示。
使用上面的设置,mPDF尝试将字符从iso-8859-4
重新编码为UTF,这导致井号被压成ÂŖ
。
或者,使用HTML实体£
代替£
字符-所有编码都应该安全。