溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中mpdf文件名亂碼的解決方法

發(fā)布時(shí)間:2021-06-10 10:31:55 來源:億速云 閱讀:235 作者:小新 欄目:編程語言

小編給大家分享一下php中mpdf文件名亂碼的解決方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

php mpdf文件名亂碼的解決辦法:1、將“autoLangToFont”值設(shè)置為“true”;2、將“autoScriptToLang ”這個(gè)值也設(shè)置為“true”即可。

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

php mpdf 文件名亂碼怎么辦?

php-mpdf擴(kuò)展包中文亂碼問題

mpdf是一個(gè)可以把html網(wǎng)頁轉(zhuǎn)換成pdf文件的擴(kuò)展包。一開始使用的時(shí)候,發(fā)現(xiàn)中文亂碼了。。在網(wǎng)上查了半天,好多方法都不管用。

最后,在他的文檔里面找到了問題原因。

想要輸出中文,有兩個(gè)參數(shù)至關(guān)重要?。?!

  • autoLangToFont 這個(gè)值一定要設(shè)置為true才可以

  • autoScriptToLang 這個(gè)值也一定要設(shè)置為true才可以

只要上面兩個(gè)設(shè)置為true,那么你的中文就可以正常輸出了。相信我,不能正常輸出你來打我。

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

php中mpdf文件名亂碼的解決方法
php中mpdf文件名亂碼的解決方法

可以看到默認(rèn)值是false,所以我們使用的時(shí)候需要改成true。

設(shè)置這兩個(gè)值也很簡單。

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');}

其實(shí),mpdf的文檔最開始是有錯(cuò)誤的,他的文檔中寫的默認(rèn)值是true而不是現(xiàn)在的false。不過從他的源碼上可以看到他的默認(rèn)值其實(shí)是false。

源碼位置:vendor/mpdf/mpdf/src/Config/ConfigVariables.php里面。
這個(gè)文件里面是很多變量的默認(rèn)值,在這里面搜索可以看到這兩個(gè)值是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上面提了一個(gè)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文件名亂碼的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI