|
小さん、TAKA さん今日は、ひろです。
マクロについては TAKA さんが仰るような手順を踏むのが良いと思いますので、
> >EUCのファイルを開くことがあって、文字コードを変更するために、asueさんのchang
> >ecode.macをダウンロードして実行してみました.
に反応しておきます。
お使いのヴァージョンの記載がないので、設定項目に若干違いがあるかも
しれませんが、最新の Ver.3.08 ならば「その他」→「動作環境」→「編集」
の「文字コードを自動認識する」を ON にすれば多くの場合文字化けしませ
ん。
またマクロなら、JRくんが作成した「文字コードの変換マクロ」
(http://win.blue.co.jp/~jr-kun/hm_macro.html#CHARCHNG) がありまし、
//文字 code 自動変更 macro
main:
disabledraw;
if(!selecting)call select;
searchdown "\x1B",inselect;
if(result)##charset=4;
else{
call check_charset;
##charset=##return;
}if(updated==1){
message "ファイルが更新されています\n複数の文字コード混在すると、"
+"復旧できなくなる恐れがあるので、マクロを終了します。";
goto ending;
}call save_search;
##org_line=lineno;
##org_column=column;
##handle = hidemaruhandle(0);
$$option = "/(" + str(windowposx) + "," + str(windowposy) + ","
+ str(windowcx) + "," + str(windowcy) + ") ";
$$filename = filename2;
openfile $$option;
closehidemaru ##handle;
if(##charset==1) openfile $$filename,euc;
else if(##charset==3) openfile $$filename,sjis;
else if(##charset==4) openfile $$filename,jis;
movetolineno ##org_column,##org_line;
goto ending;
save_search:
$search=searchbuffer;
#search=searchoption;
return;
check_charset:
##charset=(charset&63);
if(##charset==2){
message "文字化けしている理由が不明(;_;)";
goto ending;
}else if(##charset==4){
##return_code=(charset&192)/64;
if(##return_code==1)return 1;
else return 3;
}else return ##charset;
ending:
setsearch $search, #search;
endmacro;
select:// escape sequence を探す
beginsel;
##num=0;
while(##num<30){
down;
if(!result){
gofileend;
##num=30;
}else ##num=##num+1;
}return;
//--------------------------------------------------------------------
というマクロでも大体上手くいくと思います。
|
|