shiiyaさんは書きました:
環境
OS :WinXP Pro SP2
EmEditor:7.00.4 Pro 正式版「設定されたエンコード」で「ファイルから検索」する場合、期待したエンコードでヒットしてくれません。
再現手順を以下に示します。
(1)EmEditorの設定の定義「Text」で、本現象に関連すると思われる以下のような設定を行う。
[ファイル]タブ
HTML/XMLのCharsetを検出 □
すべて自動検出 □
Unicodeサイン(BOM)を検出 レ
UTF-8を自動検出 レ
改行方法が不統一ファイルで警告 レ
開く時のエンコード UTF-8(2)”一二三” とだけ書いたテキストファイル「sjis.txt」(エンコードは”シフトJIS”)と、同じく”一二三” とだけ書いたテキストファイル「utf-8.txt」(エンコードは”UTF-8 (BOM無し)”)を用意し、任意の同一フォルダに保存。
(3)EmEditor を閉じる。
(4)上記で用意したファイル「sjis.txt」をダブルクリックで開く。
「指定したエンコードで変換できない文字が含まれています。編集を続行して保存するとファイルの中身が破壊されます。」というメッセージが表示されるので「OK」ボタンをクリック。
すると、ファイルが文字化けした状態で開かれる。
画面右下のエンコードの表記は「UTF-8 (BOM無し)」となる。(5)文字化けを解消するため、メニューバーから[ファイル]-[読み直し]-[日本語 (自動選択)]を実行する。
すると、ファイルが正しく表示されるようになる。
画面右下のエンコードの表記は「日本語 (シフト JIS)」となる。(6)メニューバーから[検索]-[ファイルから検索]を選択し、以下に示す条件で検索を実行する。
検索する文字列:一二三
検索オプションのチェックはすべて未チェック
エンコード:設定されたエンコード(7)すると、読み直し後に設定されているはずのエンコードは、上記で確認したとおり「日本語 (シフト JIS)」ですが、検索結果としては「sjis.txt」がヒットせずに「utf-8.txt」がヒットしてしまいます。
個人的に期待していた動作は、読み直し後にファイルから検索を実行した場合でも、「ファイルから検索」のダイアログの「設定されたエンコード」で検索する場合は、読み直し前に設定されていたエンコード(今回の例ではUTF-8)ではなく、読み直し後の現時点で設定されているエンコード(今回の例ではシフトJIS)で検索されることでした。
このような動作は意図されたものでしょうか、それとも不具合でしょうか?
以上、ご確認願います。
これは、仕様とおりの動作ということになります。ファイルを開くときのエンコードと、あとから「ファイルから検索」を開くときのエンコードは関連していないためです。将来的に、あるファイルを開いている状態で「ファイルから検索」を行った場合には、開いているファイルのエンコードを優先するようにした方がいいでしょうか?