◀一般トップへ
  • 5853 文字コード誤認識します
    • 5854 Re:文字コード誤認識します
      • 5883 Re2:文字コード誤認識します
      • 5912 Re2:文字コード誤認識します
        • 5913 Re3:文字コード誤認識します
          • 5914 Re4:文字コード誤認識します
            • 5915 履歴で、削除したファイルを開くと、後で復活しても戻せません。
              • 5948 Re:履歴で、削除したファイルを開くと、後で復活しても戻せません。
            • 5936 Re5:文字コード誤認識します
    • 5855 Re:文字コード誤認識します
      • 5858 Re2:文字コード誤認識します
        • 5884 Re3:文字コード誤認識します
          • 5885 Re4:文字コード誤認識します
            • 5886 Re5:文字コード誤認識します
          • 5889 Re4:文字コード誤認識します
          • 5898 Re4:文字コード誤認識します
            • 5903 Re5:文字コード誤認識します
    • 5890 Re:文字コード誤認識します
      • 5893 Re2:文字コード誤認識します
    • 5949 Re:文字コード誤認識します
      • 5950 Re2:文字コード誤認識します
        • 5951 Re3:文字コード誤認識します
  • [5853] 文字コード誤認識します すす 2007年02月22日 11:58

    連続したSJIS半角カナのみのファイルを開くとEUCと誤認識します。
    全角文字が入ったり半角カナ1文字の前後にスペースがあったり
    半角英数があったりするとちゃんと認識するみたいです。

    ver1.5.15.1で確認しました。
    ver1.5.13ではちゃんとSJISと認識します。

    SJISの半角カナと半角スペースのみのファイル
    扱う人って少ないのかな。
    • [5854] Re:文字コード誤認識します じゅうじ 2007年02月22日 12:52

      ▼ すすさん
      > ver1.5.15.1で確認しました。
      > ver1.5.13ではちゃんとSJISと認識します。
      >
      > SJISの半角カナと半角スペースのみのファイル扱う人って少ないのかな。

      ver1.5.14.200でも同じでした。EUCと認識します。
      しかし、バグとかのバージョン管理の問題では無いと思います。
      半角カナはインターネットから締め出されてますから。
      EUCは、UNIX/BSD/Linuxで多く使います。
      このあたりの要求仕様とかユースケースは、仕様書としてどうなってるんでしょうか。
      8bitの時どっちを優先させるか、とか。
      要る事も無いですが。一度開いたファイルはヒストリーに保存される仕様ですから。
      • [5883] Re2:文字コード誤認識します すす 2007年02月26日 10:30

        ▼ じゅうじさん
        > ▼ すすさん
        > 半角カナはインターネットから締め出されてますから。
        それはわかっているのですがimodeだと半角カナは普通に
        使われるのですよね。

        すべての文字コードを完全に自動認識させるのは無理があると思いますけど。
        前認識してたのに~と思ってしまったのです。
      • [5912] Re2:文字コード誤認識します すい 2007年03月03日 16:03

        >一度開いたファイルはヒストリーに保存される仕様ですから。
        自動認識、↑この辺がらみで。

        共通設定 - [ファイル]タブにて
        「前回と異なる文字コードのとき問い合わせを行う(&Q)」がチェックoff の場合、
        前回の時の文字コードを採用するようになりましたよね。

        ↑これは良いのですが、その「過去に開いたことがあるファイル」が
        存在しなかった場合、前回の文字コードを無視して勝手に Shift_JIS に
        なってしまいます。

        例えば、常に UTF-8 で書き込まれる特定の名前のログファイルがあったとして、
        そのファイル内の過去のログ情報が不要になった場合、

        ・方法1
         ログファイルの内容を全部削除して上書き保存。(サイズ 0 のファイルにしておく。)

        ・方法2
         ログファイルをバッサリ削除しておく。

        の2通りの方法が考えられますが、

        方法1だと、そのサイズ 0 のファイルを開いても文字コードは UTF-8 のままの
        扱いになりますが、

        方法2だと、「最近開いたファイル」から そのファイルを開いた場合、文字コードが
        勝手に Shift_JIS に変わってしまい、以後、文字化け...

        ファイルが存在しなかった場合(上記パターン2の場合)でも、文字コードは
        前回と同じにした方が良いと思うのですが。
        • [5913] Re3:文字コード誤認識します じゅうじ 2007年03月03日 19:02

          ▼ すいさん
          >存在しなかった場合、前回の文字コードを無視して勝手に Shift_JIS になってしまいます。
          >例えば、常に UTF-8 で書き込まれる特定の名前のログファイルがあったとして、

          それは、ヒョットして、例えば、ログファイルがEUCとかJISでも同じですか?

          ・方法2は、ファイル名が同じなら、削除してもいいと思いました。サクラの履歴から消えるタイミングは?
          • [5914] Re4:文字コード誤認識します すい 2007年03月03日 20:55

            >・方法2は、ファイル名が同じなら、削除してもいいと思いました。

            はい、私もそう思うので、標準的には「ログファイル削除」をやってしまいます。

            >サクラの履歴から消えるタイミングは?

            実際にやってみれば分かると思いますが、
            履歴から消えるわけではありません。
            「履歴が完全に無視される」というお話です。
            履歴の「前回開いていた時の文字コード」の情報が無視され、
            デフォルトの Shift_JIS ファイル扱いになってしまう、という事です。
            • [5915] 履歴で、削除したファイルを開くと、後で復活しても戻せません。 じゅうじ 2007年03月03日 22:56

              ▼ すいさん
              文字コードも、改行コードもカーソル位置も復活しません。という事ですね?

              1)sakuraでファイルを開く。
              2)1.で開いたファイルを閉じる(保存でなくてもよい)。
              3)1.で開いたファイルをリネーム(削除)する。
              4)sakuraの最近開いたファイルから、1.で開いていたファイルを開く。
               ファイルが無いため、サイズ0でSJISのファイルが編集可能になる。
               ここで、一旦このファイルのウインドウを閉じられても遅いのです。
              5)3.で削除したファイルをリネーム(復活)する。
              6)新しく開いたウインドウで、もちろん4.のウインドウでも、1.のファイルが開けない。
              7)4.のウインドウを閉じれば、1.のファイルは開けるが、文字コードも…

              ヘルプに追加するべき、問題でしょうか。仕様の気もします。
              • [5948] Re:履歴で、削除したファイルを開くと、後で復活しても戻せません。 じゅうじ 2007年03月17日 12:03

                ▼maruさん patch:1672919
                的確な御判断だと思います。コメント有り難う御座います。

                >▼じゅうじさん
                >1について、前回変更した理由を明確にしてください。
                >
                >状況から見て「前回と異なるとき…」の設定は自動認識結果のみに反応
                >する、という誤解から発生した意図しない仕様変更にしか見えません。
                >
                >>
                >コマンドラインから文字コード指定で開く場合は、「前回の文字コード…」OFFで
                >>
                >問い合わせを止めているにもかかわらず、ダイアログが表示される事になります。
                >いや、表示されませんね。「一旦閉じて…」のワーニングと混同していませんか?
                >
                >念の書きますが、1.5.13.1以前から「前回の文字コード…」の設定にかかわらず
                >異なるときはワーニングです。
                >svn:1034のCEditDoc::OpenFileのコメントアウトは仕様変更の目的ではありません。
                >自動認識優先はなくなったため、見る必要がなくなっただけです。
                >
                >3について
                >
                >説明不足でしたが1を元に戻すなら検討不要です。
                >もし「前回と異なるとき…」が自動認識結果のみにしか反応しない仕様を
                >前提とするなら、より適切なオプションを検討したい
                >という段階ですので、今すぐどうこうという話ではありません。
            • [5936] Re5:文字コード誤認識します じゅうじ 2007年03月06日 16:35

              あ、あと、履歴のファイルが削除されていた場合、「新規にファイルを作成しますか?止めますか?」のような、選択が考えられましたが、現状維持という事で、特に追加はしていません。
              このpatchの場合は、「(削除されたファイルと同じ文字コードで)新規にファイルを作成します」の動作になります。
    • [5855] Re:文字コード誤認識します ラスティブ 2007年02月22日 18:17

      ▼ すすさん
      > 連続したSJIS半角カナのみのファイルを開くとEUCと誤認識します。
      > ・・・(中略)・・・
      > ver1.5.15.1で確認しました。
      > ver1.5.13ではちゃんとSJISと認識します。

      デフォルト文字コード、SJIS と判別されるべきところが、
      EUC と判別されるということなので、たぶん、バグです(汗)
      • [5858] Re2:文字コード誤認識します ラスティブ 2007年02月23日 19:31

        SJIS 半角カナを判定ポイントに加点する修正版バイナリを
        アップしました。

        http://sakura.qp.land.to/?Junk%2F26

        やっぱり、SJIS に判定が偏りがちになるのですけれど…、
        どんな具合か試していただければ幸いです。

        あと、バージョン番号とかの識別番号に
        変更を入れてないので、
        取り扱いに気をつけてください(汗)
        • [5884] Re3:文字コード誤認識します すす 2007年02月26日 10:34

          ▼ ラスティブさん
          > やっぱり、SJIS に判定が偏りがちになるのですけれど…、
          > どんな具合か試していただければ幸いです。
          ありがとうございます。
          ためさせていただきました。
          SJISの半角カナはOKです。
          UNIX_EUCの普通のファイルも問題ないみたいです。

          ただ、私は使わないのでいいのですが
          EUCの半角カナのみのファイルをSJISと認識するようですねぇ。
          なんか、揚げ足取るみたいなかんじですみません。
          • [5885] Re4:文字コード誤認識します 通りすがり 2007年02月26日 18:41

            EUC半角カナは0x8e??なのを利用してスコアを付けてみるとか妄想

            • [5886] Re5:文字コード誤認識します じゅうじ 2007年02月27日 01:09

              ラスティブさん
              7bitANKと、第一水準漢字、第二水準漢字のみは、EUCカナ
              ではどうでしょうか。
          • [5889] Re4:文字コード誤認識します すす 2007年02月27日 12:45

            ▼ すすさん
            > ▼ ラスティブさん
            > ただ、私は使わないのでいいのですが
            「扱わない」の誤りです。
          • [5898] Re4:文字コード誤認識します ラスティブ 2007年02月28日 15:45

            ▼ すすさん
            > EUCの半角カナのみのファイルをSJISと認識するようですねぇ。

            正直、手に追えません(ぜぇ、ぜぇ(-e-;))

            コードポイントが完全にダブっていて、
            どっちの文字コードだか区別が付かなくなってる場合、
            意味のない文字列を見つけて評価ポイントを下げるか、
            意味のある文字列を見つけて評価ポイントを上げるかしか
            手がない気がしています。つまり、文字化けしたときに、
            慣れたユーザーがとっている方法と同じやり方です。
            その、意味のある/ない文字列を見分ける巧い方法が・・・(^^;)。

            ▼ じゅうじさん
            > バグとかのバージョン管理の問題では無いと思います。
            > 半角カナはインターネットから締め出されてますから。
            > ・・・(中略)・・・
            > このあたりの要求仕様とかユースケースは、仕様書としてどうなってるんでしょうか。

            1.5.15.x の自動認識機能は、1.5.14.x 以前の自動認識機能の動作を継承しつつ、
            UTF-8/UTF-16 まわりの判定が改善されたものとされています。
            すすさんの指摘した、SJIS 半角カナを誤認するというのは・・・
            不具合ですけれど(^^;;;)、なかなか手がつけられないものに入りそうです。
            • [5903] Re5:文字コード誤認識します じゅうじ 2007年03月02日 05:52

              ▼ ラスティブさん
              > すすさんの指摘した、SJIS 半角カナを誤認するというのは・・・
              > 不具合ですけれど(^^;;;)、なかなか手がつけられないものに入りそうです。

              SJISのカナは、良いようですよ、1.5.14 以前は、EUCのカナも正しく認識・判断していましたが、それは継承出来ないんですよね。
              SJISの漢字で得点採ってても、それがEUCカナと一致するという事ではないでしょうか。
              気長に待ちます。
    • [5890] Re:文字コード誤認識します OCYA 2007年02月27日 18:11

      半カナがらみでもう一点、お願いします。

      デスクトップに新規テキストを作り、サクラで半角"アアア"など打ち込んだ後保存します。
      再度開くと、文字コード認識ダイアログが出るのですが、このファイルをコピー(CTL+C)したものは強制的にEUCで開かれるようです。
      • [5893] Re2:文字コード誤認識します じゅうじ 2007年02月27日 21:57

        ▼ OCYAさん
        > 再度開くと、文字コード認識ダイアログが出るのですが、このファイルをコピー(CTL+C)したものは強制的にEUCで開かれるようです。

        コピーして作った新しいファイルは、履歴に何も無いので、自動認識が選んだ文字コードになります。
        そういう事じゃないのかな。
        一度開いたファイルは文字コードが履歴に記録されます。(上限有り)
    • [5949] Re:文字コード誤認識します wakura 2007年03月18日 21:49

      テキストエディタ初

      「ベイズ理論による文字コード識別機能を搭載」

      なんてどうかなぁ
      • [5950] Re2:文字コード誤認識します げんた 2007年03月18日 22:08

        >「ベイズ理論による文字コード識別機能を搭載」
        アイディアは面白そう.
        気になる点1: 学習辞書を作る必要がある
        →FDやUSB Memoryに入れて使う人以外は特に問題にならないかな?OptionにすればOKか.

        気になる点2: 文字単体ではなく,バイト列の並びによって辞書を作る必要があると思うのですが,文字コードがわからないのにどうやって辞書を作ればよいのでしょう? 1バイトずつずらしてNバイトのバイト列を取り,それを全部学習&判定に使う?

        SHIFT-JISとEUCのどちらともとれるような場合には学習による判定も使えそうですけど,どのくらい役に立つのかなぁ.
        • [5951] Re3:文字コード誤認識します hideto 2007年03月19日 10:48

          >「ベイズ理論による文字コード識別機能を搭載」
          > アイディアは面白そう.
          > 気になる点1: 学習辞書を作る必要がある
          > →FDやUSB Memoryに入れて使う人以外は特に問題にならないかな?OptionにすればOKか.

          Optionついでに、辞書をネット化、更新取得は適度に、と言ってみるテスト(ぉ