7件の投稿を表示中 - 1 - 7件目 (全7件中)
  • 投稿者
    投稿
  • #11669

    redakt55
    Participant

    文字コードの自動検出に失敗することがあります。

    【再現手順】0x61(ASCII の”a”)の 1 バイトだけのファイル a.txt を自動検出で開く。

    すると,UTF-16LE(BOM無し)と解釈されます(よって文字が何も入っていないように表示される)。UTF-16LE として正しいバイト列ではないのに警告も出ません。

    「Text のプロパティ」は以下のように設定しています。
    ・「開くときのエンコード」は「UTF-8」
    ・「UTF-8 を自動検出」は ON

    自動検出はおかしいと思うことがしばしばあるのですが,とりあえず最小の事例が見つかったので,報告しました。

    #11673

    Yutaka Emura
    Keymaster

    redakt55 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    確かにご指摘のようになりました。これは修正いたします。
    ご報告ありがとうございます。

    どうぞよろしくお願い申し上げます。

    #11675

    redakt55
    Participant

    続きです。

    0x61 0xC0 の 2 バイトからなるテキストファイル「a.txt」を自動検出で開くと「UTF-8(BOM無し)」のみが候補に挙がります。
    しかし,このバイト列は UTF-8 とは解釈し得ません。それゆえ,そのまま UTF-8 で開こうとすると,「指定したエンコードで変換できない文字が含まれています。」と警告が出て,改めて文字コードを選ばされます。

    0x61 0xC0 は,ISO 8859-1~4 などにおいて,「aÁ」と解釈できますし,CP932 では「aタ」と解釈できます。これらが候補に挙がるべきでしょう。

    ※それはそうと,開くときも保存するときも ISO 8859-1 が選べないのは何故なんでしょうか?

    #11677

    Yutaka Emura
    Keymaster

    redakt55 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    これについては、次のバージョンで修正します。

    エンコードの検出には、Windows のAPIを使っているのですが、この例の場合、自動検出ができないため、すべてのエンコードを表示するようにします。

    今後もよろしくお願い申し上げます。

    #11683

    redakt55
    Participant

    もしよろしければ,その「自動検出ができない」場合というのがどういう場合か教えていただけませんか。
    作業効率に大きく影響するところなので。
    毎回あの長ったらしいリストから選ばされるのは勘弁してほしいです。
    WZ EDITOR も秀丸もこの点,あまりストレスを感じません。
    (もっとも,日本向けの両ソフトと,世界相手の EmEditor とでは事情が異なるのだろうなとは思いますけど)

    #11684

    星くず彼方に
    Participant

    横から失礼します。

    根本的解決にはなりませんが、「ツール」「エンコードの定義」で、
    「すべて自動検出の結果」を含め、あちこちで表示されるエンコードを減らすことができます。
    redakt55さんがお使いになりうるエンコードを残してほかを削除すると、
    リストが短くなりストレスが多少は軽減できるかもしれません。

    #11686

    redakt55
    Participant

    otsd 様,アドバイスありがとうございます。
    エンコードの定義をいじるのは「あとで試してみよう」と思ってそのままになっていました。
    いまごっそり削除してみたら,確かに「あの長ったらしいリスト」がぐっと短くなり,十分快適になりました。
    ありがとうございました。

    この結果をもとに,v14 への要望事項をまとめてみたいと思います。

7件の投稿を表示中 - 1 - 7件目 (全7件中)

このトピックに返信するにはログインが必要です。

友達に知らせる... Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone