fetus Diary

2006/05/10(水) - mb_encode_mimeheader

仕事ではもう解決しているけど、いずれまた同じ事で悩みそうなのでメモ。

mb_encode_mimeheader は、internal encoding に依存する処理を行うので、ISO-2022-JP を処理させるときは、

$original_encoding = mb_internal_encoding();
mb_internal_encoding('ISO-2022-JP');
$header = mb_encode_mimeheader($header, 'ISO-2022-JP');
mb_internal_encoding($original_encoding);

こんな感じで、internal encoding の待避と設定を行ってから mb_encode_mimeheader を call。終わったら、待避したものを戻して終了。

これしないと、encode したものが 72 バイトくらいを超えたところで文字化け発生。(途中で文字がぶった切られるからデコードできなくなる)

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: