プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
mPDF、v4.5からv5.7にバージョンアップしたら日本語が文字化けするようになった
しばらく放置していたmPDFさん、使っていたバージョンがv4.5でしてね。
さすがにそろそろ新しくするかなーと思ったので、v5.7.2にバージョンアップしました。

そしたら日本語が文字化け、全部四角になっちゃったのです。

おーまいがっ(つд`)

あー、でもまったく動かなくなるよりはマシか。
そう思い直し、Google先生に助力を求めることにしました。
助けて、Google先生、プリーズ。

ふむふむ(--)

こんなんで直りましたφ(--)

1.mpdf.phpの1150行目近辺を以下のように変更

■変更前
if (preg_match('/([\-+])aCJK/i',$mode, $m)) {
    $mode = preg_replace('/([\-+])aCJK/i','',$mode);
    if ($m[1]=='+') { $this->useAdobeCJK = true; }
    else { $this->useAdobeCJK = false; }
}

■変更後
//    if (preg_match('/([\-+])aCJK/i',$mode, $m)) {
//        $mode = preg_replace('/([\-+])aCJK/i','',$mode);
//        if ($m[1]=='+') { $this->useAdobeCJK = true; }
//        else { $this->useAdobeCJK = false; }
//    }
    $this->useAdobeCJK = true;

2.インスタンスを生成するところで第一引数に「ja」を指定する

■v4.5のとき
$pdf = new mPDF('sjis', 'A4');

■v5.7.2のとき
$pdf = new mPDF('ja', 'A4');

これで無事に日本語が出力されるようになりました。
あー、良かった(*´ェ`*)

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:mPDF  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事