はじめに
PowerShellスクリプトを書くツールとしてみなさんはどの様なツールをりようしていますでしょうか?
Windows付属のPowerShell IDEを使う人が多いかとは思いますが、中にはVisual Studio Code(VSCode) を利用してコードを書いている人もいるのではないでしょうか。
筆者はVSCodeを利用してPowerShellを書いているのですが、コード内に日本語を記載して実行した時、期待通りの動作をしませんでした。
PowerShellのファイル文字エンコード
Microsoftサイトで下記の様なサイトを見つけました
VS Code と PowerShell でのファイルのエンコードの概要
上記によると、
VS Code と PowerShell は両方とも、実用的な既定のエンコード構成でインストールされています。
ただし、PowerShell により使用される既定のエンコードは、PowerShell Core (v6.x) のリリースで変わりました。
VS Code で PowerShell または PowerShell 拡張機能を使用しても確実に問題がないようにするには、VS Code と PowerShell の設定を正しく構成する必要があります。
とのこと。
実際にVSCodeのDefault文字エンコードは UTF-8(BOMなし) です。
このまま作成し保存し、PowerShellを実行すると、BOM がなければデフォルトの文字コードで読もうとするため、デフォルトの文字コードは、Shift-JISのため文字化けしたk文字列を読み込もうとします
※ ただし、PowerShell 5.1までのバージョンとなります。6.0以降では異なります
これを回避するために、VSCodeではShift-JISでファイルを作成する様にするといいと思います。