概要
using System.Text; class Program { static void Main() { var encoding = Encoding.GetEncoding( "shift_jis" ); } }
Encoding.GetEncoding で Shift-JIS を使用する際に
Unhandled Exception: System.ArgumentException: 'shift_jis' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
このエラーが発生した場合は
VIsual Studio メニューの「ツール > NuGet パッケージ マネージャー >
ソリューションの NuGet パッケージの管理」を選択し、
「参照」タブの検索欄に「System.Text.Encoding.CodePages」と入力して
表示された「System.Text.Encoding.CodePages」を選び、
Shift-JIS を使いたいプロジェクトにチェックを入れて「インストール」を押します
using System.Text; class Program { static void Main() { // ★ Encoding.RegisterProvider( CodePagesEncodingProvider.Instance ); var encoding = Encoding.GetEncoding( "shift_jis" ); } }
そして、Shift-JIS を使用するコードよりも前に
Encoding.RegisterProvider( CodePagesEncodingProvider.Instance );
と記述することで、Shift-JIS が使えるようになります