dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)

Posted mengzhilv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)相关的知识,希望对你有一定的参考价值。

dompdf\\lib\\fonts\\dompdf_font_family_cache.php记住这个文件里面存放的是字体生成的缓存,迁移时如果覆盖了这个文件会导致乱码而且很难找到出错的地方,相信我。。。。

dompdf是php把html导出pdf的工具,十分好用,除了个别css3的属性不支持,其他都非常不错,中文需要引用中文字体,具体办法官方有这里简单说下:

代码:

$html = \'<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>\';
//echo $html;exit;
$options = new Options();
$options->set(\'enable_remote\', TRUE);
$dompdf = new Dompdf($options);
$dompdf->load_html( $html, \'UTF-8\');;
// $dompdf->load_html( $html, ‘GBK‘);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment"=>0));exit;

结果:

需要说明:

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

如果迁移代码的时候需要把这个删掉,或者修改family的名称。

 

以上是关于dompdf中文字体乱码解决办法(特别是代码迁移引起的乱码)的主要内容,如果未能解决你的问题,请参考以下文章

DOMPDF 产生乱码

php   dompdf包如何将HTML页面导出中文无乱码的PDF文档

MYSQL数据库使用UTF-8中文编码乱码的解决办法

navicat for mysql 显示中文乱码解决办法

windows 控制台cmd乱码的解决办法

codeblocks中文乱码原因及解决办法