Windows Server 2022のPowerShellで文字化けする
リリースされてまだ日が浅いWindows Server 2022ですが、PowerShellで日本語が文字化けする現象が確認されています。
今回はこの現象について備忘録を兼ねて解決方法を掲載します。
現象
PowerShellの文字化けといえば、パス文字列指定やテキスト・CSVファイルを読み込んだときにShift-JISになっていないから文字化けする、という現象が有名です。
が、今回はその系統とは全く違います。
今回の文字化けはPowerShellのコンソール表示そのものが文字化けするというものです。
ちなみに下記画像の最終行には日本語で”あいうえお”と入力していますが、入力したそばから化けます。
どんな文字に化けているのかというと、こんな感じです。
解決方法
今回の原因はWindows Server 2022のPowerShellで既定のフォントとなっている”Consolas”に起因しています。
従来のフォントはMSゴシックでしたが、このConsolasフォントが日本語対応できていないためこのような現象が発生しています。
解決方法としてはフォントを変更しましょう。
まずは左上端のPowerShellアイコンをクリックしてメニューを表示し、そこから”プロパティ”を開きます。
フォントタブをクリックしてフォントの項目からMSゴシックを選択してOKしましょう。
するとこのように日本語表示が何事もなく表示されます。
今後について
この現象はMicrosoftでも認知されている不具合であり、修正対応中です。
いずれはWindows Updateで解消する見込みのある現象です。
なお、表示が化けているだけで文字コードの認識は正常にされています。
よって表示が化けていても下記画像のようにコマンドは動作しますので、ps1ファイルやそれらのcsv出力等は正常に動作します。あくまで表示がおかしいだけです。
もし何かのps1を移設して動かしてみる場合は、このフォント異常の影響はありませんのでご安心ください。
※コマンドでデスクトップにある”ほげほげ”というディレクトリにカレントディレクトリを移動しています。
↓試しに文字化け状態でipconfigの結果をテキスト出力