読者です 読者をやめる 読者になる 読者になる

ねこ元帥の中の人@リウマチ

日々の覚書など。ブログ名はオンラインゲームのアカウント名をいつも「ねこ元帥」にしているから。そして、2013年11月リウマチと診断されたとです。(2012年11月から時々手足に原因不明の痛みが発生、2013年9月以降は足の痛みが常態化、2013年12月30日からMTX服用開始、4月過ぎるころにはわずかの痛みが残る程度まで回復して現在に至る。)

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のパイプラインあたりに何かがありそう。