【UiPath】WindowsプロジェクトでShift-JISを利用する方法

概要

・Windowsプロジェクトにおいて、一部アクティビティで文字化けが発生する問題です。
・Windowsプロジェクトでは通常Shift-JISがが使えません。(レガシーでは最初から利用できます)
・WindowsプロジェクトでShift-JISを利用する場合はひと手間が必要。

WindowsプロジェクトではShift-JISが使えない話

Windowsプロジェクトでは仕様としてShitf-JISが使えません。
利用しようとすると次のようなエラーが発生します。
以下は「CSVを読み込み」でShift-JISを設定した例ですが、その他にも「ファイルを展開」などでも同様の事象が発生します。

CSV を読み込み: ‘Shitf-JIS’ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. (Parameter ‘name’)

回避方法

回避方法1

現在は「CSV読み込み」についてExcelアクティビティのバージョンアップで改善されているようです。
Excelアクティビティv2.12.3以上を利用すればエラーは発生しないようです。
「ファイルを展開」でも同様に試してみましたが、Systemアクティビティのバージョンアップで改善されているようです。

Excelアクティビティのリリースノート
https://docs.uipath.com/ja/activities/other/latest/productivity/release-notes-uipath-excel-activities#v2123-bug-fixes
>Windows プロジェクトで [CSV を読み込み] アクティビティを使用する際に、shift_jis 文字エンコードがサポートされるようになりました。

Systemアクティビティについてはリリースノート上に記載は見つかりませんでしたが、検証ベースでは最新版のアクティビティでは直っているようです。

ただし環境によってはバージョンアップが難しい場合もあると思います。その時は次の方法を利用しましょう。

回避方法2

「メソッドを呼び出し」を利用して回避する方法があります。
shift-jisを利用する前に以下のように設定します。

TargetType:System.Text.Encoding
MethodName:RegisterProvider
プロパティパネルのパラメータ欄:
入力、System.Text.EncodingProvider、System.Text.CodePagesEncodingProvider.Instance
を指定します。

その後にShitf-JISを利用するように設定することでエラーが発生することなく実行が可能です。

コメント

タイトルとURLをコピーしました