PowerShellの$OutputEncodingについての説明を読むと、PowerShellがテキストを他のアプリケーションに渡すときに使用するエンコーディングとなっている。 以下のコマンドの結果からすると、PowerShellがgit logの結果のテキストを受け取るときにどのようになっているかは分からないが、nkf32にはUTF8で渡していることが分かる。 PS C:\repo> git log | nkf32 -g ASCII PS C:\repo> $OutputEncoding = [Text.Encoding]::UTF8 PS C:\repo> git log | nkf32 -g UTF-8 処理結果はというと、やはり文字化けする。nkfの処理結果をPowerShellが表示のエンコーディングであるシフトJISに変換して化けてるのか??? コンソール表示のエンコーディン