秀丸エディタのファイル保存形式についてNo.36848
さん 18/10/14 22:39
 
Ver.8.83(64bit)、OS Win10Proでのファイル保存動作時の挙動についての質問です。
動作環境→エンコード1→新規作成やASCIIのとき→標準のエンコードの種類を『UTF-
16』改行コードを『自動』BOMの有無を『あり』に設定しています。
新規にファイルを作成して内容記述後に、『保存して終了』もしくはCtrl+S→Alt+F4
で保存終了後、該当ファイルをメモ帳などで開くと日本語部分が文字化けしています。
『名前を付けて保存』を選ぶと、エンコードの種類が『自動判定-Unicode(UTF-16)』
で『BOMを付ける』のチェックが外れていました。
保存時に手動でエンコードの種類を『Unicode(UTF-16)』に変更すると、BOMのチェッ
クが入った状態になります。
保存ダイアログを都度開かないで保存終了することが多いので、自動判定時もBOMつ
きの状態にしたいのですが、他に設定する箇所がありますでしょうか。
よろしくお願いいたします。

[ ]
RE:36848 秀丸エディタのファイル保存形式No.36849
秀丸担当 さん 18/10/15 09:43
 

ご指摘ありがとうございます。
エクスプローラ等から背景右クリックで新規作成して、空のテキストファイルを作っ
たものを開いたときは、確かにそうなりました。

設定の新規作成時というのは、秀丸エディタで[ファイル]→[新規作成]を選んだとき
や、秀丸エディタを起動しただけの状態のことを意味しています。
空のテキストファイルの場合は、既存のファイルを開くということになります。
空の内容はUTF-16のBOM無しのファイルを開いたとも言えるので、考え方次第ですが、
設定通りにBOM有りに変更してもいいと思います。
今後のバージョンでできるように修正したいと思います。


現状で無理矢理なんとかする方法として、マクロで変更する方法が考えられます。
例えば以下のようなマクロを実行すると、空の内容でUTF-16のBOMが無いとき、BOM有
りに変更するマクロです。

if(linecount==1&&linelen==0&&encode==2&&bom==0&&updated==0){
  setencode 2,1,1;
  clearupdated;
}

これを、マクロファイル用のフォルダに、例えばtest.macとして保存し、[マクロ]→
[マクロ登録]→[自動起動]の「ファイルを開いた直後」にtest.macを指定しておくと、
開いた後に実行されるようになります。
エクスプローラで新規作成したファイルを開いたときにBOM有りに変更されるように
なります。

[ ]
RE:36849 秀丸エディタのファイル保存形式No.36850
さん 18/10/15 23:22
 
ご回答ありがとうございました。
現状ではこの動作は仕様ということで理解いたしました。
ご紹介いただいたマクロを使用することで意図した通りの動作になることをこちらで
も確認いたしました。
またソフトの変更もご検討いただけるとのことで、お手数をおかけいたしますがよろ
しくお願いいたします。

[ ]