4D-jp 4D Japan Technical Support Team

バイト・オーダー・マーク

2022-05-18

19r2以降,テキストファイルを作成するコマンド(TEXT TO DOCUMENTFile.setText()でエンコーティングを明示的に指定しなかった場合,デフォルトでバイト・オーダー・マーク(BOM)なしのUTF-8が使用されるようになりました。UTF-8などのエンコーティングを明示的に指定すれば,これまでどおりBOMが出力されます。これは仕様です。

エンコーティングを指定せずにUTF-8(デフォルト)でテキストファイルを作成した場合,ファイルの冒頭に0xEF 0xBB 0xBF3バイトが追加されることがありません。これは,テキストエディターがBOMに基づいてファイルのエンコーディングを判定することができないことを意味します。

過去のバージョンで作成されたプロジェクトであれば,互換性オプションで動作を切り替えることができますが,19r2以降で作成されたプロジェクトにはオプションが表示されず,以前の動作に切り替えることはできません。

どちらのモードであってもUTF-8-no-bomのようにBOMなしのエンコーティング名を指定することができます。

https://doc.4d.com/4Dv19R4/4D/19-R4/Compatibility-page.300-5737012.ja.html


関連記事

リンク