夏だ!文字化けだ!
お化け、ではなく文字化けに遭遇したのでメモす。
PowerShellのスクリプト内で Out-File
を使って、ファイル出力したのだが、
出力したファイルをエディタで開いたら、あらまぁ文字化け。。。
日頃出てくるのは大体UTF-8かShift-JISのどちらかだが、 出力されたファイルはなんとUTF-16! 調べたところ、PowerShellは通常内部でUTF-16を使用しているらしい。 なので、デフォルトでファイル出力しようとするとUTF-16で出力されるらしい。
入出力系ではなるべく -Encoding
をつけようと思った次第。
ちなみに、 -Encoding default
とすると、OSのデフォルト文字コードになるらしい。
よって日本語WindowsならANSI(Shift-JIS)ということになる。
以上。