文字コード
昨日、ナルホドエコを立ち上げたのですが、
メールで文字化けが多数...
問題は、エンコード と charset がでした。
2度と間違えないようにメモ。
use Encode; use MIME::Entity; # subject の文字コードを「utf-8」から「jis」へ Encode::from_to($subject,'utf-8','jis'); # subject を ヘッダー用の ISO-2022-JP に変換 Encode::encode('MIME-Header-ISO_2022_JP',$subject); # body の文字コードを「utf-8」から「jis」へ Encode::from_to($body,'utf-8','jis'); my $mime = MIME::Entity->build( From => $from, To => $mailto, Subject => $subject, # charset を ISO-2022-JP に。 Type => 'text/plain;charset="iso-2022-jp"', Data => $body, Encoding => "7bit" );
ざっくり抜粋しましたが、こんな感じ。
後、昔もはまった覚えがありますが、
JIS と ISO-2022-JP は同じだそうです。
という今さらなことですが。