[PHP-users 11439] Re: bookmarkの日本語表示

komura php-users@php.gr.jp
Tue, 12 Nov 2002 08:35:52 +0900


komura です。

> 過去ログにもありましたがPDFlibでbookmarkを日本語で記述したい時
> はUNICODEで書かなければいけないとの事ですが、
> 例えば、EUC-JPのコードのものを
> $bk = i18n_convert($bkmk, "UTF-8", "EUC-JP");
> UNICODEにコンバートして、
> pdf_add_bookmark($pdf, $bk, 0, 0);
> に入れるだけではダメなんですよね。
> 調べてみた所、FEFFを前につけなければいけないとの事ですが
> 色々と付けて試してみたものの、上手くいきません。

PDFlib はインストールしたマシンが手元にありませんので、試していませんが、
以前、同じように bookmark の日本語表示をやったがありましたので。

$bk  = chr(254).chr(255);
$bk .= mb_convert_encoding( $bkmk, "UCS-2", "EUC-JP" );

でどうでしょうか。

i18n_convert() を使っておられますので、PHP3 でしょうか?
PHP4 の mb_convert_encoding() を使っています。

# PHP4.2.2 で試したところ、mb_convert_encoding() の第2引数の "UCS-2" は
# "UTF-16" または、 "Unicode" としても同じ結果が返ってきます。

-- 
komura 
komura@ma9.seikyou.ne.jp