温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php中mpdf文件名乱码的解决方法

发布时间:2021-06-10 10:31:55 来源:亿速云 阅读:236 作者:小新 栏目:编程语言

小编给大家分享一下php中mpdf文件名乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php mpdf文件名乱码的解决办法:1、将“autoLangToFont”值设置为“true”;2、将“autoScriptToLang ”这个值也设置为“true”即可。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php mpdf 文件名乱码怎么办?

php-mpdf扩展包中文乱码问题

mpdf是一个可以把html网页转换成pdf文件的扩展包。一开始使用的时候,发现中文乱码了。。在网上查了半天,好多方法都不管用。

最后,在他的文档里面找到了问题原因。

想要输出中文,有两个参数至关重要!!!

  • autoLangToFont 这个值一定要设置为true才可以

  • autoScriptToLang 这个值也一定要设置为true才可以

只要上面两个设置为true,那么你的中文就可以正常输出了。相信我,不能正常输出你来打我。

看一下mpdf文档上面的描述。

php中mpdf文件名乱码的解决方法
php中mpdf文件名乱码的解决方法

可以看到默认值是false,所以我们使用的时候需要改成true。

设置这两个值也很简单。

use Mpdf\Mpdf;function test() {
    $pdf = new Mpdf;
    $pdf->autoLangToFont = true;
    $pdf->autoScriptToLang = true;

    $pdf->writeHTML('<h2>123</h2>');

	return $pdf->output('./test.pdf', 'D');}

其实,mpdf的文档最开始是有错误的,他的文档中写的默认值是true而不是现在的false。不过从他的源码上可以看到他的默认值其实是false

源码位置:vendor/mpdf/mpdf/src/Config/ConfigVariables.php里面。
这个文件里面是很多变量的默认值,在这里面搜索可以看到这两个值是false。

// AUTOMATIC FONT SELECTION
// Based on script and/or language
// mPDF 6.0 (similar to previously using function SetAutoFont() )
'autoScriptToLang' => false,

// mPDF 6.0 (similar to old useLang)
'autoLangToFont' => false,

我给他们的github上面提了一个issue,他们才把文档改过来了。

php中mpdf文件名乱码的解决方法

最后附上mpdf官方文档:

http://mpdf.github.io/fonts-languages/fonts-in-mpdf-7-x.html

我给他们提的issue:

https://github.com/mpdf/mpdf.github.io/issues/141

以上是“php中mpdf文件名乱码的解决方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI