動作環境
OS:CentOS64
Git: version 1.7.1
状況
sshでリモートのLinuxに接続し、git logを表示すると文字化けする。
正確には文字化けでなく、
<E3><83><87><E3><83><BC><E3><82><BF><E3><83><99><E3>
といった感じでエンコードが出来ていない。
解決策
対応その1:ロケールの変更
localedef -f UTF-8 -i ja_JP ja_JP
でlocaleを日本に変更
⇒結果:治らない
対応その2: quotepathにfalseを設定
quotepathをfalseにすることで、出力をエスケープしない設定になるらしい。
ぐぐるとよく出てくるのはこれによる対応。
⇒結果:治らない
解決策:lessの設定をutf-8に変更する
結局、git log
によるページャはlessで表示されており、その文字コードがutf-8に設定されていないのが原因だった。
export LESSCHARSET=utf-8
これで環境変数にlessの文字コードを設定するとちゃんと表示されるようになりました。