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
 
修正して下さるとのこと、どうもありがとうございました。ではよろしくお願い申し
上げます。

[ ]