秀丸で半角カナ含むEUCエンコード保存したNo.37300
camel さん 19/04/24 00:24
 
お世話になっております。
表題の問題が発生します。

プログラムソースのコメント検索で発生しました。
tar解凍したEUCテキストそのままだと問題ないのですが、
一度秀丸でEUCでの保存を行うと発生します。
何か設定がありますでしょうか?あるいは仕様でしょうか?


発見時の環境
windows10 32bit
秀丸Ver8.69

検証時の環境
windows10 64bit
秀丸Ver8.88

【検証方法】
1.秀丸で新規作成
2.1行目に全角で「ほげほげ」
3.2行目に半角カナで「ホゲホゲ」
4.ファイルをEUCで保存
5.grep検索で「ほげほげ」を検索
→検出しません
6.2行目を削除、または半角カナ以外に書き換え保存
7.grep検索で「ほげほげ」を検索
→検出しました

全角、半角カナともにヒットしません。
なお、半角英数は検索可能でした。
また、sjis、utf8で保存したファイルは問題ありませんでした。

以上、よろしくお願いいたします。

[ ]
RE:37300 秀丸で半角カナ含むEUCエンコーNo.37301
秀丸担当 さん 19/04/24 11:58
 

バグ情報ありがとうございます。
確かにそうなることが確認できました。

まず、EUCの「ほげほげ ホケ゛ホケ゛」(カタカナは半角)というファイルは、Shift-
JISとして解釈しても問題が無いファイルなので、判断は、自動判定の基準に依存す
ることになります。
これを確実にするには、grepダイアログで「エンコードの種類」を「日本語(EUC)」
にして実行するとできます。

次に、EUCで「漢字 ほげほげ ホケ゛ホケ゛」というファイルだとしたら、「漢字」
の部分がShift-JISではエラーになるので、自動判定ではEUCと判定されるべきでした。
この条件は問題でした。
[その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]で「grepの処理を
従来通りにする」をONにすると回避できました。
ただONにすると少し遅くなります。
OFFでも問題無いように今後のバージョンで修正させていただきます。

あと、自動判定の設定もあるのですが、grepで適用させるためにはかなり遅くなりま
す。
自動判定は[その他]→[動作環境]の左下の「上級者向け設定」をONにして、[その他]
→[動作環境]→[ファイル]→[エンコード1]で調整できますが、EUCを上にして、さら
に「優先順位に従う」にすると、開くダイアログから自動判定で開くとき「ほげほげ
 ホケ゛ホケ゛」でもできるようになります。
grepでも適用させるには、[その他]→[動作環境]→[検索]→[grepの動作]→[文字数
制限の設定...]で「制限なし」にすると適用されますが、これにするとだいぶ遅くな
ってしまいます。

tarを解凍した保存前のファイルで違うというのは気になります。もし差し支えなけ
れば問題のファイルか、問題部分だけ切り取ったファイルを送っていただけると助か
ります。
送っていただける場合、"taki@maruo.co.jp"まで添付ファイルで送ってほしいです。
切り取るとしたら、バイナリレベルでやる必要があるかもしれません。[その他]→
[動作環境]→[ファイル]の『「バイナリモードで開くを」を使う』をONにして開くダ
イアログからの操作でバイナリモードで開くことができます。または[その他]→[メ
ニュー編集]でファイルメニューに「バイナリモード」コマンドを入れることもでき
ます。

[ ]
RE:37301 解決:秀丸で半角カナ含むEUCエNo.37302
camel さん 19/04/24 19:51
 
お世話になっております。早速のご返答ありがとうございました。

まずは、「秀丸で保存したファイル」ができず、オリジナルはできたというのは誤り
で、秀丸が作成する直下の.BAKを、自身が名前を変えたオリジナルと勘違いしていた
ための思い違いでした。
エンコードを色々変えて確認した際の、直前のSJISファイル検証時のバックアップが
ヒットしたことで秀丸保存によってできなくなったと勘違いしていました。

お手間をとらせてしまい申し訳ありませんでした。

また、「grepの実行」ダイアログで、「エンコードの種類」を指定することができる
ことに気が付いておりませんでした。
最初に遭遇した問題について、「エンコードの種類」をEUCにすることでgrep検索で
きることを確認しました。

ありがとうございました。
今後ともよろしくお願いいたします。

[ ]