character-encoding - mpdf php库不显示英镑货币符号£
问题描述
我正在使用 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
总金额 Ŗ 45,00
解决方案
您的代码可能是 UTF,删除
$mpdf->charset_in = 'iso-8859-4';
线。£
字符不能在 中表示iso-8859-4
。
使用上述设置,mPDF 会尝试将字符从iso-8859-4
UTF 重新编码,这会导致井号被破坏为ÂŖ
.
或者,使用 HTML 实体£
而不是£
字符 - 所有编码都应该是安全的。
推荐阅读
- javascript - 如何在nuxt中使用amchart?
- python - tkinter 中的属性错误:未定义移动
- gradle - 无法为根项目的参数找到方法 buildConfig()
- elixir - 指定模块名称时如何访问 Config 相关键
- r - 基于列表中给出的组聚合矩阵行
- excel - Microsoft Access 数据库引擎找不到对象 Excel VBA
- amazon-ec2 - AWS CloudFormation 初始化服务作为 bash 脚本
- asp.net-mvc - 视图中可以包含什么逻辑?(MVC)
- ios - 如何从 ios 的状态栏底部启动母版页?
- sql - 从锁定的表中读取数据