19r2以降,テキストファイルを作成するコマンド(TEXT TO DOCUMENT
)File.setText()
でエンコーティングを明示的に指定しなかった場合,デフォルトでバイト・オーダー・マーク(BOM)なしのUTF-8が使用されるようになりました。UTF-8
などのエンコーティングを明示的に指定すれば,これまでどおりBOMが出力されます。これは仕様です。
エンコーティングを指定せずにUTF-8(デフォルト)でテキストファイルを作成した場合,ファイルの冒頭に0xEF
0xBB
0xBF
の3
バイトが追加されることがありません。これは,テキストエディターがBOMに基づいてファイルのエンコーディングを判定することができないことを意味します。
過去のバージョンで作成されたプロジェクトであれば,互換性オプションで動作を切り替えることができますが,19r2以降で作成されたプロジェクトにはオプションが表示されず,以前の動作に切り替えることはできません。
どちらのモードであってもUTF-8-no-bom
のようにBOMなしのエンコーティング名を指定することができます。
https://doc.4d.com/4Dv19R4/4D/19-R4/Compatibility-page.300-5737012.ja.html