| 
			|  | DecodeHeader関数ですが、BASE64やQuoted-Printableのデコードはするんですが、
 文字コードの変換まではしないです。なので、「=?utf-8?b?....」のような文字列を
 デコードすると、結果がutf-8のままになって、それで化けてしまうようです。
 
 文字コードの変換(Shift-JISへの変換)も含めてデコードする関数は、今ちょっ
 と探した限りは無さそうです。しいてやるとしたら、一回ファイルに保存して読み込
 むような処理を、秀丸エディタ相当ウィンドウをダミーで作ってやるしか無いです。
 
 試しにマクロ作ってみましたけども。ちゃんと動くかどうか怪しいです。
 
 DecodeHeader関数に第2パラメータを追加して、そこに数値の1を指定したら、自
 動的にShift-JIS文字コードに変換するってしようと思います。それでいいですよね。
 次のβ版でそうしようと思います。
 
 
 --------------------------------参考マクロ------------------
 loaddll "tkinfo.dll";
 #n = dllfunc( "SetJapaneseCodePageMode", 1 );
 
 $s = dllfuncstr( "CurrentHeader", "Subject" );
 $s2 = dllfuncstr( "DecodeHeader", $s );
 $code = dllfuncstr("ToUpper", $s);
 if( strstr( $code, "=?UTF-8?" ) >= 0 ) {
 #handle = hidemaruhandle(0);
 #n = dllfunc("NewMail");
 #handle2 = hidemaruhandle(0);
 #n = dllfunc("SwitchHeaderView", 0);
 gofiletop;
 beginsel;
 gofileend;
 delete;
 insert $s2;
 $filename = dllfuncstr("HomeDir") + "TempMail\\temp.txt";
 saveas $filename, sjis;
 gofiletop;
 beginsel;
 gofileend;
 delete;
 insertfile $filename, utf8;
 gofileend;
 $s2 = gettext( 0, 0, x, y );
 setactivehidemaru #handle;
 closehidemaruforced #handle2;
 }
 
 message $s2;
 
 #n = dllfunc( "SetJapaneseCodePageMode", 0 );
 freedll;
 
 
 
 
 | 
 |