pdflibでブロックを使って日本語を使ったら文字化けが発生あせる


文字コードの問題らしい。

結構ハマったので解決方法をメモひらめき電球


PDFlib HOWTO - FAQ

以下引用です。



テキストフローで日本語を利用するには?

・標準CJKフォント(HeiseiKakuGo-W5やHeiseiMin-W3等)の場合は「UniJIS-UCS2-H」

・カスタムフォント(TrueTypeフォントやOpenTypeフォント)の場合は「unicode」

$text = "あ\nいう\nえおか\nきくけこ\nさしすせそ\nたちつてとなにぬねのはひふへほ";

PDF_fill_textblock($p, $page, "testblock", mb_convert_encoding($text, "UTF-8", "EUC-JP"), 
  "fontname {HeiseiKakuGo-W5} pdiwarning true encoding UniJIS-UCS2-H textformat utf8");


機種依存文字の表示方法

$font = PDF_load_font($p, "KozGoPro-Medium", "90ms-RKSJ-H", "");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);

$str = "あ①髙お"; $str = mb_convert_encoding($str, 'Shift-JIS', 'EUC-JP'); PDF_show($p, $str);