[ 新規に投稿する ]

grepの検索語が文字化けするNo.41082
S.N.P. さん 24/03/09 10:57 [ コメントを投稿する ]
   過去に利用していた、エンコードが中国語簡体字であるテキストファイルに、下記のようなgrepのマクロを使ったところ、検索語が文字化けしてしまってうまく検索できません。
 中国語簡体字特有の漢字(たとえば「谢谢」)を検索語にすると大丈夫なようなのですが、日本語で用いる漢字(たとえば「写信」)だと化けてしまって、確実にファイル内にその文字があるのに、うまくgrepできません。
 これがUnicodeとかシフトJISのファイルだとうまくgrepできます。
 なにか別のオプションとかを付けないと検索できないでしょうか。お教え下されば幸いです。よろしくお願いいたします。

$MOJI1 = input("檢索する文字列を入力して下さい。");
 if( ! result ){
 goto END;
 }
$FILE = basename2;
$DIR = directory;
grep $MOJI1, $FILE, $DIR, regular,fuzzy,subdir;
END:
endmacro;

なお秀丸のバージョンは9.30の32bit版、Windows10です。また「その他」「ファイルタイプ別の設定」「多言語」で「すべての言語で同じフォントを使用する」にして、「MS明朝」を使っています。
[ ]
RE:41082 grepの検索語が文字化けするNo.41083
秀丸担当 さん 24/03/11 10:10 [ コメントを投稿する ]
  バグ情報ありがとうございます。
確かにうまくいっていませんでした。
V9.25から現在開いているファイルのエンコードの影響でおかしくなっていました。

現状で回避するには、無理やりですが以下のようにすると回避できました。
grep文の前に、現在のエンコードを変える感じです。

$MOJI1 = input("檢索する文字列を入力して下さい。");
 if( ! result ){
 goto END;
 }
$FILE = basename2;
$DIR = directory;

newfile;
setencode 2,1;
clearupdated;
grep $MOJI1, $FILE, $DIR, regular,fuzzy,subdir;

END:
endmacro;

秀丸エディタの問題なので、こういうことをしなくても、従来通りできるように修正させていただきます。
[ ]
RE:41083 grepの検索語が文字化けするNo.41084
S.N.P. さん 24/03/11 21:50 [ コメントを投稿する ]
  修正して下さるとのこと、どうもありがとうございました。ではよろしくお願い申し上げます。
[ ]

[ 新規に投稿する ]