PHP の mb_encode_mimeheader() の正しい使い方

「mb_encode_mimeheader()に渡す文字列はISO-2022-JPに変換するな。」
http://blog.cheki.net/archives/1125
ということらしい。

mb_encode_mimeheader() は、

でいいみたい・・・。

<?php
mb_language('ja');  
mb_internal_encoding('UTF-8');  
  
$subject = '十分に長いsubjectでのテストを行います、まる';  

# 正しい例
echo mb_encode_mimeheader($subject, 'ISO-2022-JP'), "\n";
# 誤った例
echo mb_encode_mimeheader(mb_convert_encoding($subject, 'ISO-2022-JP', 'UTF-8')), "\n";

実行結果:

$ php test.php | nkf
十分に長いsubjectでのテストを行います、まる
十分に長いsubjectでのテストを行い$^$9!"$^$k