PowerShell上での文字コード
- PowerShellのコマンド出力をテキストに渡したりする際やコンソールでの表示にて、文字コードが異なるため文字化けする場合があった。
- 出力先で文字コードを変更すれば問題ないけれど、PowerShell側で変更できるようにしておくと便利かなと。
文字コードの変更手順
PowerShellのデフォルト文字コードが「US-ASCII」みたいなので、コマンド実行前に「シフトJIS」へ変更し、コマンド実行完了後に「US-ASCII」へ戻すようにする。
文字コード確認
現在の文字コードを確認する。
> $OutputEncoding.EncodingName
US-ASCII
文字コード変更(シフトJIS)
「シフトJIS」へ変更する。
> $OutputEncoding = [console]::OutputEncoding;
> $OutputEncoding.EncodingName
日本語 (シフト JIS)
文字コードを戻す(US-ASCII)
「US-ASCII(元の文字コード)」へ変更する。
> $OutputEncoding = New-Object System.Text.ASCIIEncoding;
> $OutputEncoding.EncodingName
US-ASCII