メルマガ配信のシステムを開発していて気がついたのですが、mb_encode_mimeheader()の結果がなぜか文字化けを起こします。
いろいろ調べてみた結果、今回は以下のような対処方法で解決。
internal_encodingの設定に要注目です。
function mime($str){
$str = mb_convert_encoding($str, "ISO-2022-JP","UTF-8");
ini_set('mbstring.internal_encoding', 'ISO-2022-JP');
$str = mb_encode_mimeheader($str, "ISO-2022-JP");
ini_set('mbstring.internal_encoding', 'UTF-8');
return $str;
}
以上の関数を設置して、mb_encode_mimeheader()としている部分をmime()とすると文字化けが解消されます。