◀一般トップへ
  • 5292 文字コードの自動認識(XML)
    • 5299 RE: 文字コードの自動認識(XML)
      • 5302 RE2: 文字コードの自動認識
        • 5310 RE3: 文字コードの自動認識
          • 5311 RE4: 文字コードの自動認識
            • 5314 Re5: 文字コードの自動認識
              • 5318 Re6: 文字コードの自動認識
    • 5300 解説と要望
      • 5339 Re:解説と要望
    • 5307 Re: 文字コードの自動認識(XML)
    • 5312 Re:文字コードの自動認識(XML)
    • 5315 Re:文字コードの自動認識(XML)
    • 5316 Re:文字コードの自動認識(XML)
  • [5292] 文字コードの自動認識(XML) トーリス・ガリー 2006年06月26日 13:53

    <?xml version="1.0" encoding="UTF-8"?>
    XMLの文字コードの認識でこれくらいは自動で認識してほしいのですが、
    サクラエディタはヘッダを見ていないのでしょうか?

    「前回と異なる文字コードのとき問い合わせを行う」
    オプションをチェックすると認識して正しく開けます。
    (但しダイアログが一々出てウザイですが)
    でもこのオプションをはずすと自動認識してくれません。
    なぜでしょうか。
    • [5299] RE: 文字コードの自動認識(XML) すい 2006年06月27日 22:49

      >タイトル: RE: 文字コードの自動認識(XML)
      >発言者: トーリス・ガリー
      ><?xml version="1.0" encoding="UTF-8"?>
      >XMLの文字コードの認識でこれくらいは自動で認識してほしいのですが、
      >サクラエディタはヘッダを見ていないのでしょうか?

      見るわけないでしょう。 (--;)
      XML 編集専用のユーティリティとかなら「そういう物を認識する」
      というのは当然アリでしょうけど。

      これは汎用のテキスト用エディタですよ。
      そんな文字列を文字コード判定に使用したりすると、例えば、

      「文字コード UTF-8 で XML を記述する時は
       <?xml version="1.0" encoding="UTF-8"?>
       と記述しておきます。」

      だとかの解説文が EUC のテキスト文で書かれていたらどうなります?
      その EUC のテキスト文を「 UTF-8 である」と誤認識してしまうのでは?

      汎用のテキスト用エディタである以上、編集対象のテキスト文中に
      何という文章が記述されていようが、そんな物は一切あてにならない、
      下手に文字列を認識したりすると かえって文字コード誤認識の元凶に
      すらなり得る、純粋にテキスト文中に使用されている文字を見て
      文字コードを推定する以外に手は無い、
      というわけで、サクラエディタはそうなっています。

      >「前回と異なる文字コードのとき問い合わせを行う」
      >オプションをチェックすると認識して正しく開けます。
      >(但しダイアログが一々出てウザイですが)
      >でもこのオプションをはずすと自動認識してくれません。
      >なぜでしょうか。

      そのテキスト文中に文字コードを判別するための手掛かりになるような
      文字が存在しない、とかの理由で、あなたが期待通している文字コード
      のファイルとして自動認識できない、とかでは?

      例えば UTF-8 で通常の半角英数記号文字しか使っていない、
      日本語文字が含まれていない、といった場合、そのファイルは
      Shift_JIS のファイルと全く違いがありませんから。

      自動認識の機能は、文字コードを特定出来るような特徴ある文字が何も
      無い場合にはデフォルトの Shift_JIS とみなしますから。
      • [5302] RE2: 文字コードの自動認識 じゅうじ 2006年06月28日 06:04

        出荷時のデフォルトは、選択肢1.ユーザーに問い合わせる。
         使う優先順位が高いと思われるのが、選択肢1>2>3の順。
        選択肢3はほとんど意味が無い、なぜなら、前回指定した文字コードで、既にファイルを閉じている訳だけど、文字コードをユーザーが誤ってしまった可能性が有る、そこで、警告してくれる、選択肢1にして置く方がいい。
         それに、選択肢3だと、自動認識の出番が無くなる。もともと、このチェックボックスは、自動認識と保存時のどちらを優先させるかで、それが異なっていた場合に保存時の方を優先させるなら、初めから比較自体に意味が無い。
         元々、なぜ、文字コードの混じったファイルを編集するのか、意味が解らない。自動認識の誤認対策かも。ユーザーが自分で認識するらしい...。 個人的には、自動認識をインラインマクロのような実装で、変更出来るようにならないか。
        • [5310] RE3: 文字コードの自動認識 すい 2006年06月29日 02:01

          >出荷時のデフォルトは、選択肢1.ユーザーに問い合わせる。
          私もデフォルト設定は↑これが良いと思います。一番 無難かと。

          > 使う優先順位が高いと思われるのが、選択肢1>2>3の順。

          2,3どちらが良いかは、その時の作業内容に依存するでしょう。

          そもそも自動認識というのは誤認識する物です。
          念のため言っておきますが、私はサクラエディタの自動認識の
          精度はかなり高いと思っていますし、性能に不満は有りません。

          しかしながら、どんなに性能が良い自動認識であっても原理的・理論的に
          目的の(エディタで作業する人間が望むような)文字コードのファイル
          として認識する事が出来ないファイルがあります。

          極端な話が >>data:5299 で私が言ったような、半角英数記号文字しか
          使われていない UTF-8 のファイル。Shift_JIS のファイルと違い
          ありませんから、それを自動認識で「UTF-8 のファイルと認識しろ」
          というのは無理。
          他にも識別不可能・困難なファイルはいくらでもあります。

          で、その手の自動認識では文字コードを判別する事が困難なファイルを
          エディタで編集していると、自動認識は誤認識の嵐となってしまいます。

          で、そのような場合、「もぅ、自動認識なんてoffにしてくれ~~。
          過去に編集した時の文字コード覚えてるんだろぅがぁ!!」と
          なるわけで。

          で、ここからは推測ですが、書き込みの元のトーリス・ガリーさんも
          そういう状況になってしまっているのだと思います。
          取り扱っているファイルが UTF-8 のファイルなのだけれども、
          自動認識では UFT-8 とは認識しづらいファイルで、Shift_JIS と
          誤認識しまくっている。

          で、「前回と異なる文字コードのとき問い合わせを行う」をoff、
          つまり強制的に自動認識の結果で開く設定だと、誤認識された
          Shift_JIS として開かれてしまう。
          ↑この状況を「自動認識していない」と誤解されている。

          「前回と異なる文字コードのとき問い合わせを行う」をonにすると
          ダイアログで
          ・UTF-8 (前回使っていた文字コード)
          ・Shift_JIS (自動認識の結果)
          どちらで開くか聞いてくるので UTF-8 で開けと答えている。
          ↑この UTF-8 の方を「自動認識された結果」と誤解されている。

          という状況なのではないかと。
          で、ダイアログなんて出さずに UTF-8 として開いてくれ~と
          願っているのでは?(実際には自動認識を使わずに
          前回の文字コード使ってくれ、という事なわけですが)

          あくまで私の推測ですが。

          ただ、現実に取り扱うファイルによっては上記のような状況が
          良く起こります。

          > それに、選択肢3だと、自動認識の出番が無くなる。
          出番はあります。
          開いた記録がないファイルを開くときは自動認識が働くわけですから。
          それでうまく文字コードが認識されればラッキーです。

          ただ、自動認識で誤認識し易いファイルを扱っている場合、過去に
          開いた事があるファイルなら その時の文字コード使ってくれ、
          自動認識は邪魔なだけだからoffにしてくれ、というだけで。
          • [5311] RE4: 文字コードの自動認識 すい 2006年06月29日 02:14

            > 使う優先順位が高いと思われるのが、選択肢1>2>3の順。

            逆に選択肢2.が必要な場合というのが結構レアだと思います。

            例えば、C:\DATA\DATA.TXT というファイルを最初に開いた時は
            Shift_JIS だった。
            それを閉じて暫くしてから、またそのファイル C:\DATA\DATA.TXT
            を開いたら、何時の間にか勝手に EUC のファイルに変わっていた。
            またそのファイルを閉じて暫くして開きなおすと、今度は
            JIS のファイルに変わっていた。

            そんな感じですよね、選択肢2.が便利な場合って。
            こういう状況って そうはないと思うのですが。

            いや、実は私はモロにそういう状況で使う事もあるのですが、(汗)
            それはかなりレアで特殊な使い方で、世の中、他にこういう
            作業やっている人なんて殆ど居ないだろうな~、と思うわけで。

            > 元々、なぜ、文字コードの混じったファイルを編集するのか、意味が解らない。

            「文字コードの混じったファイルを編集」って、どういう話でしょう?
            その類の話、誰もしていないと思うのですが。
            • [5314] Re5: 文字コードの自動認識 じゅうじ 2006年06月30日 07:39

              > > 元々、なぜ、文字コードの混じったファイルを編集するのか、意味が解らない。
              >
              > 「文字コードの混じったファイルを編集」って、どういう話でしょう?
              > その類の話、誰もしていないと思うのですが。

              ところで、コマンドラインオプションで、 -CODE=n を付けて、ショートカットを作っておけばいいと思うけど。
              それも駄目で、これはどうかと。
              >>data:5020

              それに、ラジオボタン3つじゃなくても、チェックボックス2個でも…。
              • [5318] Re6: 文字コードの自動認識 すい 2006年07月01日 14:33

                >タイトル: Re6: 文字コードの自動認識
                >発言者: じゅうじ
                >> > 元々、なぜ、文字コードの混じったファイルを編集するのか、意味が解らない。
                >>
                >> 「文字コードの混じったファイルを編集」って、どういう話でしょう?
                >> その類の話、誰もしていないと思うのですが。
                >
                >ところで、コマンドラインオプションで、 -CODE=n を付けて、ショートカットを作っておけばいいと思うけど。
                >それも駄目で、これはどうかと。
                >>>data:5020

                何故こんな全く何の関係も無い話がいきなり出てきているのですか?
                話が混乱するだけだと思いますが。

                >それに、ラジオボタン3つじゃなくても、チェックボックス2個でも…。

                # こちらは具体的にどういう設定項目を想定されているのか検討が
                # つきませんのでノーコメント。
    • [5300] 解説と要望 すい 2006年06月27日 23:23

      >「前回と異なる文字コードのとき問い合わせを行う」
      >オプションをチェックすると認識して正しく開けます。

      ↑この辺については、質問が来ているのは この設定の意味が
      分かり難いせいもあるのではないか、と思いましたので、
      ・この設定項目の解説
      ・この設定項目を分かり易くして欲しい、という要望
      を以下にまとめておきます。

      このエディタは過去に編集したファイル名を記録しています。
      # メニューの
      # 設定(O) → お気に入りの設定(O) → [ファイル] タブ、とか
      # ファイル(F) → 最近使ったファイル(F) 、とか。

      また、そのファイルを編集した時の文字コードも一緒に記憶されています。

      で、再び そのファイルを開いた時、この時も必ず文字コードの
      自動認識機能が動作して文字コードを判別し直すのですが、その時、
      「自動認識の結果」と「過去編集時の文字コード」とが食い違う事が
      ありえるわけです。


      そのような場合に選択肢としては

      選択肢1.「過去編集時の文字コード」を信頼して開くか
           「自動認識の結果」を信頼して開くか、をユーザーに問い合わせる。

      選択肢2.常に「自動認識の結果」を信頼して開く。

      選択肢3.常に「過去編集時の文字コード」を信頼して開く。

      の3通りの動作が考えられますよね。


      で、共通設定 → [ファイル] タブ中の
      「前回と異なる文字コードのとき問い合わせを行う(Q)」の設定は、

      チェック on の時:上記の選択肢1. 問い合わせる
      チェック off の時:上記の選択肢2. 「自動認識の結果」を信頼

      という動作になるわけです。ちなみに上記の選択肢3.の動作には出来ません。


      でも、この設定項目、意味が非常に分かり難い。

      チェックon時は上記選択肢1.になる事は まぁ一目で分かりますが、
      チェックoffにした時の動作はどうなるのか? が、一般人には
      設定項目を眺めただけでは不明。(選択肢2になるの?3になるの?)

      というか、そもそも「何が」前回と異なる文字コードのときのお話しなの?
      という事 自体が分かりにくい。
      「何」=「自動認識の結果」という事が設定項目を見ただけでは分からない。
      今回のように「自動認識されなくなる」とか誤解を生む事も。

      私としては

      | 文字コードの自動認識が前回と異なる文字コードのとき
      | ○問い合わせる  ○自動認識の文字コードで開く  ○前回の文字コードで開く

      のような3択のラジオボタンとかにして欲しいです。 m(_ _)m

      # で、私 個人的には「前回の文字コードで開く」で使うかな~、と。
      • [5339] Re:解説と要望 じゅうじ 2006年07月10日 15:05

        ▼ すいさん
        メニューの文章が分かりずらいので、書き方を換えるだけで
        かなり質問が減ると思います。

        共通設定→ファイルタブ→ファイルオープン
        □ 前回と異なる文字コードのとき問合せを行う
          ↓文章幅40バイト⇒60バイト
        □ 文字コード判定をして、前回の文字コードと異なる時問い合わせる
         (文字コード判定は、全てのファイルオープンで行う)
    • [5307] Re: 文字コードの自動認識(XML) げんた 2006年06月28日 08:53

      >「前回と異なる文字コードのとき問い合わせを行う」
      >オプションをチェックすると認識して正しく開けます。
      >(但しダイアログが一々出てウザイですが)
      >でもこのオプションをはずすと自動認識してくれません。
      そもそもですが...UTF-8の自動認識があまり賢くないのが問題という気もします.
      UTF-8の自動認識で漢字を見ていないという報告もありますし.
    • [5312] Re:文字コードの自動認識(XML) ラスティブ 2006年06月29日 04:27

      ▼ トーリス・ガリーさん
      > <?xml version="1.0" encoding="UTF-8"?>
      > XMLの文字コードの認識でこれくらいは自動で認識してほしいのですが、
      > サクラエディタはヘッダを見ていないのでしょうか?

      たとえばファイルの拡張子が .xml の場合には,
      XML の構文にしたがってヘッダ部分を解析し,
      文字コードを判別する機能をつけて欲しいってことですよね?

      すいさんの仰るように自動認識だけでは限界がありますし,
      サクラエディタのインターネット関連の開発や管理もサポートする開発用エディタとしての側面を鑑みれば,
      実装されてもおかしくはないです…が,単に面倒だから実装されないかもですね.

      ちなみに,すいさんの提案する選択肢を実装するなら,
      文字コードを自動認識して欲しくないファイルがあるというわけですから,
      自動認識処理をする,しないの情報を「最近開いたファイル」の履歴に保管しておくほうがいい気がします.
      多くの場合は自動認識処理させても問題ないわけですし.
    • [5315] Re:文字コードの自動認識(XML) トレイ 2006年06月30日 15:58

      ▼ トーリス・ガリーさん
      > <?xml version="1.0" encoding="UTF-8"?>
      > XMLの文字コードの認識でこれくらいは自動で認識してほしいのですが、
      > サクラエディタはヘッダを見ていないのでしょうか?

      これ↑以前に私も思いました。

      「汎用テキストエディタなんで、
      XML処理宣言をチェックする
      高度なことはできなくても
      まーしかたないよなー」

      と思ってあきらめてました。

      この動作があったらなーと思ったのは、
      あるシステムのXML設定ファイルがUTF-8で、
      XMLの中身がたまたまAscii文字オンリーな状態の時、
      サクラで日本語打って保存したらS-JISファイルとして
      保存されてしまい、トラブルの元になってしまった・・・
      なんてことがあったからです。
      正直確認が足らなかったのが悪いのですが(;^_^A、

      たしかPeggyは、XML処理宣言をチェックして
      開いてくれるんですよねー。
      これが羨ましかった・・・んです。(T_T)
      というかPeggy使いに「誤認するの?」なーんて
      馬鹿にされたんです!!(T_T)

      「XML宣言」って必ず先頭行にある決まり
      だったと思うので、サクラが自動認識で
      Asciiかな?と判断した時は、先頭行に
      XML処理宣言があればencoding属性を見て
      開いてくれる!なんてスッゲー機能が
      あれば最高!
      オプションでも良いので対応してくれたら
      密かに喜ぶ人いるのではと思ったりします。
    • [5316] Re:文字コードの自動認識(XML) トーリス・ガリー 2006年07月01日 13:16

      みなさん色々返信ありがとうございました。

      XML対応のツールも使うこともありますが、
      気軽に開いて直せるサクラは重宝しています。
      (マクロとか便利だし)

      現在はXMLのヘッダは見ていないということですね。
      自動認識としての汎用性を保とうとすると
      げんたさんがおっしゃるように認識精度の問題になるんですね。

      トレイさんの発言にもあるように、簡易的でもよいので
      XMLファイルのときはヘッダ優先で見る~なんて機能が追加されると
      良いと思いました。

      #サクラエディタでXMLを編集する人は少数派ですかね?