首頁  >  文章  >  後端開發  >  php mpdf 檔名亂碼怎麼辦

php mpdf 檔名亂碼怎麼辦

藏色散人
藏色散人原創
2021-06-10 10:25:432992瀏覽

php mpdf檔名亂碼的解決方法:1、將「autoLangToFont」值設為「true」;2、將「autoScriptToLang 」這個值也設為「true」即可。

php mpdf 檔名亂碼怎麼辦

本文操作環境: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(&#39;<h1>123</h1>&#39;);

	return $pdf->output(&#39;./test.pdf&#39;, &#39;D&#39;);}

其實,mpdf的文檔一開始是有錯誤的,他的文檔中寫的預設值是true而不是現在的false。不過從他的原始碼可以看到他的預設值其實是false

【推薦學習:PHP影片教學

原始碼位置: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() )
&#39;autoScriptToLang&#39; => false,

// mPDF 6.0 (similar to old useLang)
&#39;autoLangToFont&#39; => 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 檔名亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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