MinGW64 環境の Git で文字化けを解消する


はじめに

MinGW (64bit) + MSYS 環境の構築 (1) | DeVlog – 銀の翼で翔べ – で、Git の入った MinGW 環境を作る方法について記述しました。その後色々と作業しているうちに、ソースに日本語が使われていると git log や git diff が文字化けしてしまう事がわかりました。本記事では、この問題の原因と解決方法について紹介します。

文字化けの原因

Windows のコマンドプロンプトは、SJIS で表示するようになっています。一方、MSYS の各種ツールは UTF-8 で表示するようになっています。この違いにより文字化けが発生するようです。ちなみに、コミット後に表示されるログは文字化けしませんでした。どうやら、Git の各種コマンドのうちページャを使って表示するものが文字化けするようです。

解決方法

文字化けを解決するには、Git がページャ表示する際に nkf を通して表示するように設定すると良さそうです。以下、その手順です。

  1. nkf のインストール
    1. http://sourceforge.jp/projects/nkf/ からソースをダウンロードして展開
    2. Makefile の CC = cc を CC = gcc に変更
    3. 以下のコマンドでビルドしてインストール
  2. ~/.bashrc に以下を記述

以上の設定後、msys.bat でコマンドプロンプトを起動すれば、文字化けしない Git が使えるようになっています。

[関連記事]

  1. MinGW (64bit) + MSYS 環境の構築 (1) | DeVlog – 銀の翼で翔べ –
  2. MinGW (64bit) + MSYS 環境の構築 (2) | DeVlog – 銀の翼で翔べ –

[参考サイト]
WindowsでのGit環境構築とその注意点 3ページ | SourceForge.JP Magazine

メールアドレスが公開されることはありません。