Gitで日本語ファイル名が正しく表示されない問題の解決方法

はじめに

Gitで日本語ファイル名が正しく表示されず、エンコードされた文字列として表示されることがあります。
エンコードされた文字は一見何が書いてあるかはわからないし、ものすごく表示の幅をとるのでなんとかしたい。

問題の原因

Gitはデフォルトで、非ASCII文字(日本語など)を含むファイル名を引用符で囲んで表示したり、適切なエンコーディングで処理しない場合があります。これにより、日本語ファイル名が正しく表示されない問題が発生します。

解決方法

日本語ファイル名を正しく表示するための設定

以下の3つの設定を変更することで、日本語ファイル名が正しく表示されるようになります。

1
2
3
4
5
6
7
8
# 日本語などの非ASCII文字を含むファイル名を引用符で囲まずに表示
git config --global core.quotepath false

# Gitのログ出力をUTF-8エンコーディングで表示
git config --global i18n.logoutputencoding utf-8

# コミットメッセージをUTF-8エンコーディングで処理
git config --global i18n.commitencoding utf-8

設定を変更した後、git status コマンドなどで日本語ファイルを表示してみると、正しく表示されるはずです。

設定内容の詳細説明

設定した内容は以下の通りです。

core.quotepath false

  • 目的: 日本語などの非ASCII文字を含むファイル名を引用符で囲まずに表示
  • 効果: ファイル名が "日本語ファイル名.txt" ではなく 日本語ファイル名.txt として表示される

i18n.logoutputencoding utf-8

  • 目的: Gitのログ出力をUTF-8エンコーディングで表示
  • 効果: git loggit status などの出力で日本語が正しく表示される

i18n.commitencoding utf-8

  • 目的: コミットメッセージをUTF-8エンコーディングで処理
  • 効果: 日本語のコミットメッセージが正しく保存・表示される(この設定は直接は関係ないが、設定しておいてよいと思う)