Magic xpa4.7にてマージ形式(UTF-8 BOM無 txt)を使用してUTF-8 BOM無 txtを出力する
マージ形式(UTF-8 BOM無 txt)を利用して入出力ファイルから特性"UTF-8"を指定し、txt出力を行った際にUTF-8 BOM付txtとして出力されます。
上記原因が分からず苦難しています。何か良い対策がある場合はご享受して頂けると幸いです。
//出力条件//
マージファイル:UTF-8 BOM無のTXTファイルを使用
Magic xpa4.7を使用
入出力ファイルで設定されている特性では"UTF-8"で設定されている
-
こんにちはPuです
Magicでmerge出力するとBOMが付くのでLinuxに転送してnkfでBOMと改行コードを変更する
事は良く行います
しかしWindowsではnlfがないのでpowershellで行うのが一番簡単だと思います
batファイルからpowershellを起動するようにしておけば
Magicからosコマンドで呼べますし単体testもしやすいと思います
以下batファイルのsample
---------------------------------------------------------------------------------------------------------
cd textのあるディレクトリ
powershell -NoProfile -ExecutionPolicy Unrestricted -Command "& { $MyPath = 'hogehoge.txt';$MyFile = Get-Content $MyPath; $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False);[System.IO.File]::WriteAllLines($MyPath, $MyFile, $Utf8NoBomEncoding)}"
--------------------------------------------------------------------------------------------------------
でわ~でわ~ -
Microsoftは、かつてはBOM有りを標準としていたのですが、2019年頃から突如、BOM無しを標準とするように方針を切り替えてしまったようなんですよね。
混乱しているのは我々Windowsユーザなんですが、Windowsのメモ帳ですら、今はUTF-8を選ぶとBOM無しがデフォルトで、BOM有りがオプションになってしまっているんですよね。
Puさんが解説しておられるように、当面は何らかの外部ツールが必須になるのかもしれませんね。
サインインしてコメントを残してください。
コメント
2件のコメント