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 バイトくらいを超えたところで文字化け発生。(途中で文字がぶった切られるからデコードできなくなる)
- 06/05/11 1:22
コメント
コメントはありません。