首頁  >  文章  >  後端開發  >  php dompdf中文亂碼怎麼辦

php dompdf中文亂碼怎麼辦

藏色散人
藏色散人原創
2023-01-18 10:34:043570瀏覽

php dompdf中文亂碼的解決方法:1、開啟前端檔案;2、透過設定「@font-face {font-family:ttt;src: url(/static/font/simkai.ttf)}」引用中文字體;3、刪除「dompdf_font_family_cache.php」即可。

php dompdf中文亂碼怎麼辦

#本教學操作環境:Windows10系統、PHP8.1版、DELL G3電腦

php dompdf中文亂碼怎麼辦?

##php匯出pdf, dompdf中文字體亂碼解決辦法(特別是代碼遷移引起的亂碼)

dompdf\lib\fonts\dompdf_font_family_cache.php記住這個文件裡面存放的是字體生成的緩存,遷移時如果覆蓋了這個文件會導致亂碼而且很難找到出錯的地方,相信我。。。

dompdf是php把html導出pdf的工具,十分好用,除了個別css3的屬性不支持,其他都非常不錯,中文需要引用中文字體,具體辦法官方有這裡簡單說下:

#代碼:

$html = &#39;<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>
@font-face
{
font-family:ttt;
src: url(/static/font/simkai.ttf)
}
body {
font-family: ttt, sans-serif;
}</style></head>
<body >
<div style="font-family:ttt;">
测 测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div></body>
</div></body>
</html>&#39;;
//echo $html;exit;
$options = new Options();
$options->set(&#39;enable_remote&#39;, TRUE);
$dompdf = new Dompdf($options);
$dompdf->load_html( $html, &#39;UTF-8&#39;);;
// $dompdf->load_html( $html, ‘GBK‘);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment"=>0));exit;

結果:

php dompdf中文亂碼怎麼辦

需要說明:

10.@font-face

{

font-family:ttt;

src: url(/static/font/simkai.ttf)

}這裡的ttf是字體,位置放在static/font下,html裡可以直接用font-family:ttt;來引用;

2.就是這個檔案dompdf\lib \fonts\dompdf_font_family_cache.php

php dompdf中文亂碼怎麼辦

#如果遷移程式碼的時候需要把這個刪掉,或是修改family的名稱。

# 推薦學習:《

PHP影片教學

以上是php dompdf中文亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn