DOMPDF 生成特殊符号乱码问题

常见原因及解决方案

 

1、字体不支持该字符

 

 

  • № 符号不在标准拉丁字体中

 

  • 解决方案:使用支持西里尔字符的字体,如:
<style>
@font-face {
    font-family: 'DejaVu';
    src: url('path/to/DejaVuSans.ttf');
}
body {
    font-family: 'DejaVu', sans-serif;
}
</style>

2、字符编码问题

  • 确保 HTML 使用 UTF-8 编码

  • 在 HTML 头部添加:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

3、DOMPDF 配置问题

  • 设置 DOMPDF 默认编码:

$dompdf = new Dompdf();
$dompdf->set_option('defaultFont', 'DejaVu Sans');
$dompdf->set_option('isHtml5ParserEnabled', true);

 

我遇到的这个问题是字体库没有西语中№ 符号,所以PDF生成后会变成???乱码等问题,正确引入字体库即可解决。

posted @ 2025-05-19 15:19  北漂生活  阅读(129)  评论(0)    收藏  举报