文字化けを直したい。No.03559
アレフ さん 99/06/19 13:54
 
アレフ@またまた、質問です。

ソースで秀丸エディタを使うことが出来るようになったのですが
ソースで閲覧したときに、文字化けしていて読めないモノがあります。
読めるようにしたいのです。

こんな質問、ここでしても良かったかなぁ…?

[ ]
RE:03559 文字化けを直したい。No.03560
ひろ さん 99/06/19 19:29
 
 アレフさん今日は、ひろです。
> ソースで秀丸エディタを使うことが出来るようになったのですが
> ソースで閲覧したときに、文字化けしていて読めないモノがあります。
 恐らく文字 code の誤認識なので、「その他」→「動作環境」→「編集」
の「EUC コードと JIS コードの自動認識をする」を ON にしてください。そ
れでも駄目なら、下記の macro を使ってみてください。
// 表示文字 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"
            +"複数の文字 code が混在すると、復旧できなくなる恐れがあるので"
            +" macro を終了します。";
    call ending;
  }call save_search;
  ##org_line=lineno;
  ##org_column=column;
  $$filename=filename2;
  newfile;
  closehidemaru findhidemaru($$filename);
  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;
  call ending;

save_search://*******検索状態を文字
  $search=searchbuffer;
  #search=searchoption;
  return;

reset_search://******検索を初期状態に戻す
  setsearch $search, #search;
  return;

check_charset://表示文字 code を調べる
  ##charset=(charset&63);
  if(##charset==2){
    message "何故文字化けしているか解りません(;_;)";
    call ending;
  }else if(##charset==4){
    ##return_code=(charset&192)/64;
    if(##return_code==1)return 1;
    else return 3;
  }else return ##charset;

ending:
  call reset_search;
  endmacro;

select:// escape sequence を探す範囲を設定する。
  beginsel;
  ##num=0;
  while(##num<30){
    down;
    if(!result){
      gofileend;
      ##num=30;
    }else ##num=##num+1;
  }return;

[ ]
RE:03560 文字化けを直したい。No.03561
アレフ さん 99/06/19 21:46
 
> アレフさん今日は、ひろです。
こんにちは。毎回、感謝です。

>「EUC コードと JIS コードの自動認識をする」を ON にしてください。
はい、この設定で、上手くいきました。

謝謝


[ ]