UTF8ファイルを開くと認識エラーダイアロNo.33125
popper さん 14/04/16 04:53
 
「動作環境」ー「エンコード1」で、
「ファイルの内容を解析してエンコードの種類を自動認識する」をチェックして、
 「日本語(Shift-JIS)」
 「Unicode(UTF-8)」
 「Unicode(UTF-16)」
にチェックを入れています。

普段使用するほとんどのファイルがShift-JISなので、
「日本語(Shift-JIS)」を最上位に配置して、
「標準のエンコード」も「日本語(Shift-JIS)」に設定しています。



UTF8のファイルを開いたところ「認識エラー」ダイアログが表示され、
「エンコードの種類を指定しなおす」を指定すると
正常に表示されます。

そこで、このファイルをUTF8で保存したのですが、
再度開くとやはり同様の「認識エラー」ダイアログが表示されてしまいます。

UTF8で保存すると、次回からはエンコードを自動で認識して、
正しく表示されるものと思っていたのですが、
うまくいきません。
(UTF8のBOM無し、BOM付きのどちらで保存しても認識エラーが出てしまいます)

どうすればよいでしょうか。

Shift-JISのファイルを使うことがほとんどですので、
うっかりと(自動的に)UTF8で保存してしまうようなトラブルは避けたいです。

秀丸バージョン 64bit 8.40 Beta12

[ ]
RE:33125 UTF8ファイルを開くと認識エラーNo.33126
秀丸担当 さん 14/04/16 10:00
 

いろいろ原因は考えられますが、UTF-8のファイルにUTF-8とは認識されないよう
な条件となる文字が混在しているという気がします。

思いつくところでは、テキスト内容はUTF-8だけどXML宣言がUTF-8以外になって
いるとか、HTMLのmetaタグがUTF-8以外になっているとか、JIS文字が混在してい
るなどが考えられます。

一度開いたファイルのエンコードを再利用する設定としては、ファイルヒストリ
で開いたときの設定があります。
[その他]→[動作環境]で左下の上級者向け設定をONにして、
[その他]→[動作環境]→[ファイル]→[ヒストリ]に「ファイルヒストリから開く
ときは前回のエンコードの種類で開く」
があります。
ただこれはファイルヒストリから選んだときの設定で、「開く」などからは適用
されないです。
また、UTF-8として認識されない文字が混在しているとしたら、再利用していて
もエラーになると思います。

特定のファイルでのみ起きるのではないかと思いますが、認識エラーとはならな
いファイルとの違いがわかると原因が探りやすいと思います。

もし差支えなければ問題の起きるファイル(または問題の部分だけを切り抜いた
ファイル)と、設定内容を送ってもらえるとこちらでも調べることができると思
います。
設定内容は[その他]→[設定内容の保存/復元]よりファイルに保存できます。
もし送っていただける場合は"PEH00775@nifty.com"まで秀丸担当宛まで送っても
らえると助かります。

[ ]
RE:33126 UTF8ファイルを開くと認識エラーNo.33127
popper さん 14/04/16 11:25
 
見ていただくファイルを用意すべく、いろいろファイルをいじっていて、
原因と思われるものがわかりました。

問題が起きたファイルは、以下のように1行だけの非常にシンプルなものです。

FileInclude:〆
(これだと認識エラー。ファイル名 filej.aza)

この「〆」の文字が怪しいと思い、半角英文字の A に変えてみると、
今度は認識エラーは表示されずに Shift-JIS で開かれました。
しかし、文字化け(というか先頭3バイトのBOMが付加でしょうか)が
発生します。

FileInclude:A
(これだと認識エラーは出ずにShift-JIS で開かれ、先頭3バイトが文字化け。ファ
イル名 filea.aza)

こんなシンプルな内容のファイルで、すべて半角英文字であるにも関わらず正常に開
けないので、
ますます訳が分からず、
ファイル名をそれぞれ filej.txt, filea.txt に変えて送ろうと思い、
再度確認のために開いてみると、どちらもUTF8で正常に(認識エラーも出ず)開けま
した。

ファイルの内容ではなくて、ファイルの拡張子が問題だと分かった次第です。

.aza ファイルは、私が作成しているプログラム用に独自に決めた拡張子です。(他
にも、いくつか独自の拡張子のファイルを使っています)

これまでは、Shift-JISで使っていたので特に問題はなかったのですが、
今回は、作成しているプログラムの都合上どうしてもUTF8のファイルにする必要が生
じたのです。

.txtにすれば問題なく開けるようですが、
他の拡張子でも是非問題なくファイルが開けるようにするにはどうすればよいでしょ
うか。

よろしくお願いいたします。

[ ]
RE:33127 UTF8ファイルを開くと認識エラーNo.33128
秀丸担当 さん 14/04/16 11:51
 

拡張子限定で問題が起きるということは、おそらくファイルタイプ別の設定がさ
れているのだと思います。

[その他]→[ファイルタイプ別の設定]→[その他]→[保存・読み込み]の「エン
コードの種類の指定」に設定があります。
.azaのファイルを開いた状態で、この設定を開いて確認できます。

ここがもし「日本語(Shift-JIS)」になっているとしたら、[ファイル]→[開
く...]などから開くと指定されたエンコードになります。

[ ]
RE:33128 UTF8ファイルを開くと認識エラーNo.33129
popper さん 14/04/16 12:03
 
ご指摘の箇所を「自動判定」にすると、問題が解決しました。

ありがとうございました。

[ ]