プログラミング

powershellスクリプトを実行すると文字化けする

powershellをいじっていたら、コンソールで直接echoで日本語するぶんには文字化けしないが、スクリプトに日本語が含まれている状態でそのスクリプトを実行すると文字化けして出力させるということがわかった。

test.ps1

echo あ
PS C:\pg\selenium> echo あ
あ
PS C:\pg\selenium> . test.ps1
縺・
PS C:\pg\selenium> . test.ps1
あ

対処: bomをつける

nkf --overwrite --oc=UTF-8-BOM test.ps1

utf 8 – UTF8 Script in PowerShell outputs incorrect characters – Stack Overflow