2020年9月29日火曜日

UiPath ファイル作成時のエンコーディングの指定による違い

UiPathでファイルに対するデフォルトのエンコーディングは UTF-8 とのこと。ファイル作成時のエンコーディングの指定によって、作成されるファイルがBOM付き/BOM無しと違っていたので?と思って調べてみた。

(UiPath Studio 2020.4.3 (CE)で確認)

■アプリの連携>CSV>CSVに書き込み(WriteCsvFile) アクティビティ

書き込み元データ:DataTable

Encodingの指定作成されるファイル
未指定UTF-8 BOM付き
""UTF-8 BOM付き
"UTF-8"UTF-8 BOM付き


■システム>ファイル>テキストをファイルに書き込み(WriteTextFile) アクティビティ

書き込み元データ:String

Encodingの指定作成されるファイル
未指定UTF-8 BOM無し
""UTF-8 BOM無し
"UTF-8"UTF-8 BOM付き


追記:2020/12/06 UiPath Studio 2020.10(CE)で確認
「CSVに追加」(AppendCsv)アクティビティで "Shift_JIS"を指定してもダメ!? UTF-8で書き込まれてしまう。 → UiPathのバグっぽい?
(ちなみに、既存ファイルがない時に「CSVに追加」でShift_JIS指定は動作OK ← 意味ないけどね)

[参考] AppendCsvFile使用時の文字化けについて - 日本 / フォーラム - UiPath Community Forum