結論
vimrcに下記設定を追加
set bomb
解説
例えば下記のようなpowershellスクリプトをUTF8で作成して実行してみる。
Write-Host "さよなら文字化け"
メモ帳でUTF8にして保存した場合やPowershellISEでそのまま保存した場合は正常。
gVimで作成すると文字化けして文字列を読み取れずにエラーとなる。
理由は簡単でUTF8にはBOM付とBOM無の二つがあり、
メモ帳やPowershellISEはデフォルトでBOM付となるがgvimはBOM無になるからである。
なのでgvimでBOMを付けるコマンド:set bombを実行すれば問題ないです。
私はvimrcに書いてデフォルトでBOMが付くようにしました。