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生成后会变成???乱码等问题,正确引入字体库即可解决。

浙公网安备 33010602011771号