grep時のエンコードにつてNo.04006
winterl さん 09/09/30 11:34
 
英語版秀丸を使用する場合、すでにEnvirnment→File→Encode1にAutomatic encode
 type senseをチェックされ、auto select by orderを指定して、『Simplified Chin
ese (GB2312)』を一番上を移動した、Default encode typeも『Simplified Chinese
(GB2312)』を設定した。ファイルを開く場合、中国語がちゃんと表示されますが、gr
epの時、Encodeがそのまま”auto select”で、検索すると、ほとんどgrep結果の中
国語が文字化けになってしまう、日本語エンコードがされているようです。その結果
をクリックすると、うまく中国語で表示できます。

[ ]
RE:04006 grep時のエンコードにつてNo.04023
秀丸担当 さん 09/09/30 16:24
 

>英語版秀丸を使用する場合、すでにEnvirnment→File→Encode1にAutomatic encode
> type senseをチェックされ、auto select by orderを指定して、『Simplified Chin
>ese (GB2312)』を一番上を移動した、Default encode typeも『Simplified Chinese
>(GB2312)』を設定した。ファイルを開く場合、中国語がちゃんと表示されますが、gr
>epの時、Encodeがそのまま”auto select”で、検索すると、ほとんどgrep結果の中
>国語が文字化けになってしまう、日本語エンコードがされているようです。その結果
>をクリックすると、うまく中国語で表示できます。

いろいろ試してみたところ、条件によって確認することができました。

grepの場合は、処理の都合上、自動判定の「Auto select by order」(優先順に
従う)は働かず、「Select to first much」(最初に確定したものにする)で働
くようになっていました。
この動作はヘルプに書いていませんでした。申し訳ありません。ヘルプに書いて
おきます。

そして、ファイルの内容によってファイルの先頭付近で別のエンコードと解釈さ
れるような文字コードの場合、そうなることがあるようです。

例えば、

   aaaaaaa
   ひらがな
   aaaaaaaaa
   aaaaaaaaa
       :
    (この間英字のみでサイズが大きい)
       :
   aaaaaaaaa
   aaaaaaaaa
   漢字
   aaaaaaa


というようなファイル内容の場合、最初の「ひらがな」は簡体字中国語(GB2312)
と日本語(EUC)とで全く同じ文字コードのようです。
このようなファイルで漢字が現れるのが遠いと日本語(EUC)と認識してしまうよ
うです。

もしかしたら、「Automatic encode type sense」(ファイルの内容を解析して
エンコードの種類を自動認識する)のリストから「EUC」(日本語(EUC))をOFFに
しておくと回避できるかもしれません。
(もし日本語(EUC)を使われないとしたらですが)

そもそもにして、「Auto select by order」(優先順に従う)をgrepでも働くよ
うにできたらいいですが、先頭から順番に処理する都合上、難しいかもしれない
です。

ちなみにgrepダイアログで「追加の条件」をONにした場合はできます。
これをONにしても回避できると思います。
この場合は遅くなったり結果が出るのが遅れたりしますが、通常の読み込みと同
じ扱いになり、「優先順位に従う」が動作します。

あとお恥ずかしいですがmuchではなくmatchだったので修正しておきます。

[ ]