手続き型音楽の日常

関数型音楽に乗り換えたい

.NET core コンソールアプリで文字化けするときの対処法

Main メソッドの一番頭にこれを書く。

Console.OutputEncoding = Console.OutputEncoding;

何をしているのか

.NET core コンソールアプリでは、規定で Console.OutputEncodingSystem.Text.UTF8Encodingインスタンスが入っています。

しかし、コンソール側(Windowsデバッグした場合は規定でコマンドプロンプト)がこれをまだ検知していない状態のため、UTF-8でないコードページで表示をしています。

そのため、一度プロパティのsetterを通す必要があります。

…という推測を立てただけです。すみません。