PowerShellコンソール上でgit logの日本語が文字化けする件について調べてみた

gitリポジトリへのコミットログをUTF8とし、PowerShellコンソール上でコミットログを表示すると文字化けする。

PS C:\repo> git log
⇒文字化け

コマンドプロンプト上でコミットログを表示しても同じく文字化けする。

C:\repo> git log
⇒文字化け

UTF8をSJISに変換してやればよいはずなので、nkfを使用してみたところ、コマンドプロンプトでは正しく表示できたが、PowerShellコンソールでは文字化けしてしまった。
nkfで入力文字コードを調べたところ、以下のような結果だった。

PowerShell

PS C:\repo> git log | nkf32 -g
ASCII

コマンドプロンプト

C:\repo>git log | nkf32 -g
UTF-8

以下のコマンドを記入したbatファイルを作成してPowerShell上で実行したら、日本語が正しく表示された。

git log | nkf32

PowerShellのパイプラインあたりに何かがありそう。