文字コード

昨日、ナルホドエコを立ち上げたのですが、
メールで文字化けが多数...
問題は、エンコード と 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 は同じだそうです。


という今さらなことですが。