|
ご確認ありがとうございます。
また追加のバグ情報ありがとうございます。
>実行命令: grepreplace
>対象テキストのエンコード形式:Unicode(UTF-8)
>エラーメッセージ:
> エンコードの解析エラー
> 読み込もうとしたエンコードの種類
> 日本語(EUC)
このメッセージの内容によりますと、前のような強制終了してしまうような問題
とは異なり、メッセージの通りエンコードの解析でエラーになっているというこ
とになると思います。
試しにドイツ語に翻訳したこの会議室の内容でUTF-8のファイルを作ってみたと
ころでは、Shift-JISと誤認する場合があったり、EUCと誤認する場合がありまし
た。
テキストファイルのエンコードはBOMが無い場合は確実に判断できる方法は無く、
解析して適切と思わしきもので判断するしかないです。
UTF-8の場合、名前を付けて保存で「BOMを付ける」で保存すると確実にUTF-8で
あると判断できます。
(または[ファイル]→[エンコード]→[BOM]をONにして上書き保存)
ただファイルを他のソフトでも読み込むような場合、BOMに対応していないと先
頭が文字化けする可能性があるので注意が必要です。
自動判定の方法は、「開く」のダイアログで「自動判定の設定...」で変更でき
ます。
(または上級者向け設定で[その他]→[動作環境]→[ファイル]→[エンコード
1])
自動判定の設定で、UTF-8を上位にもってきて「優先順位に従う」にするとUTF-8
として解析されやすくなります。
ただ、本当はShift-JISやEUCとして認識してほしい場面で逆効果となる可能性が
あります。
もしBOMを付けて他のソフトの兼ね合いも大丈夫であれば、BOMを付けて保存され
ることをお勧めします。
別の回避策としては、事前にUTF-8であることがわかっていてマクロでgrepして
置換するのであれば、明示的にUTF-8を指定するといいと思います。
例:
grepreplace "xxxx", "yyyy", "*.txt", ".", utf8;
grepして置換のときには警告が出て、普通に開いたときには警告が出ずにUTF-8
として開けるとしたら、ちょっと原因がわかりませんが、もしかしたらヒストリ
から開くときに前回のエンコードを使う設定にされているとそういうことも起こ
り得ると思います。
(上級者向け設定で[その他]→[動作環境]→[ファイル]→[ヒストリ]関連)
|
|