エンコード"shift_jis"はサポートされていませんというエラーの解消方法について

CSVを読み込みアクティビティを配置し、
プロパティのエンコードを"“shift_jis”"に設定してデバッグをかけるとエラーが発生します。
エラーの解消方法について教えてください。

エラー内容:
CSV を読み込み: ‘shift_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 Like

ここは、"SJIS"でやってみましょう!

追記:私も躓いた事があって。。。改めてググってみたら!
https://developers.freee.co.jp/entry/sjis-is-not-an-alias-of-shift-jis

"shift_jis"ではなく”SJIS”に変更して試しましたが、エラーが発生します。泣

エラー内容:
CSV を読み込み: ‘SJIS’ 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読込だけの別のロボを作って、再現するかみてみる
再現しなかったら、今開発中のロボになんらかの不具合がある。
再現したら、、、
2)パソコンを再起動して、同ロボを編集状態にしてみる。
再現しなかったら、パソコンのご機嫌が悪かった
再現したら、、、
3)仮に、”SJIS"ではなく、"UTF-8"を定義してみる(実際に読み込ませたら文字化けします)
OKだったら、”SJIS"関連の構成が不良
NGだったら、もっと重症

開発していたロボットフォルダをバックアップし、一度UiPathStudioを再インストールしてみる。

ってのはどうでしょう。。。

こんにちは

プロジェクトのCompatibiltyは何になっていますでしょうか?
(共有いただいたスクリーンショットの右下部分がちょうど隠れいているので、確認できず)

もしWindows (.net5)やクロスプラットフォームでしたら、どうやらshift-jisのエンコーディングそのものが定義されていないようなので
Windows Legacyでプロジェクトを再作成いただくか、あらかじめ他の手段でUTF-8に変換しておく等が考えられます。

1 Like

プロジェクトのCompatibiltyとはどこで確認できますか、参考までに画像を送らせていただきます。

ちなみにプロジェクト作成で"Windows"でエラーが発生します、”レガシ”だと発生しません。
一般的にはどちらで皆さんは作成されているのでしょうか。

1)CSV読込だけの別のロボを作って、エラーは再現可能でした。
2)パソコンを再起動しても同じでした。
3)”SJIS"ではなく、"UTF-8"を定義してみたら文字化けしますがエラーは発生していません。

OKだったらので”SJIS"関連の構成が不良ということでしょうかね。
今一度UiPathStudioを再インストールですが、この手は最終手段にします!ありがとうございます!

こんにちは

画面右下のWindowsという部分になります。(Windows-Legacyならそのように表示されます。)
またスタート画面でも最近のプロジェクトの一覧には表示されます。

従来はWindows-Legacyであったものが、21.10のバージョンからWindows (.net5)やクロスプラットフォームが追加されました。
成熟度からいうとしばらくはWindows-Legacyの選択が無難かと思います。

1 Like

Yoichiさん、助言ありがとうございます。
なるほど、当面はWindows-レガシを選択して作成することで、このエラーは回避します!
この度はありがとうございました。

1 Like

ちなみにWindows (.net5)でも、InvokeMethodで以下を呼び出せば、その後は"shift_jis"が通るようです。

System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)

img20220318-3

img20220318-2

ご参考まで

4 Likes

いただいた情報をそのままUiPathに入力してみましたが、引数の初期値に誤りがあるようです。

System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)

これをどう修正すればよいでしょうか?

入力している項目が違います。
入力すべきはメソッド呼び出しアクティビティのパラメータプロパティです。

invoke methodアクティビティのプロパティのパラメータに設定しても、同じエラー(式は値を生成しません)が出ますが、どこをどう修正すれば良いでしょうか?

上に画像があるのでその通りに入力できませんか?

invoke methodアクティビティのプロパティのパラメータの初期値に入れた値を下記に貼り付けました。画像と同じ内容を入れたと思うのですが、違いますでしょうか。

System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)

Valueの値が同じではありません。

img20220318-2

2 Likes

ご指示の通り入れたら正常動作しました。ややこしいですね。

すみません。クラシックからのWindowsへの返還後に同じ問題で悩んでおります。Yoichi様の指示通りにInvokeMethodのアクティビティーを最初に入れましたが、下記の構文エラーが出ています。
解消のためのアドバイスをください。

”EncodingProvider”には、InvokeMethod’メソッドを呼び出し’に指定されたパラメーター型、ジェネリック型引数、およびジェネリック型制約と一致する’RegisterProvider’という名前のパブリックstaticメソッドがあります。

こんにちは

どのように設定されていますでしょうか?スクリーンショット共有可能でしょうか?