LoginSignup
11
8

More than 5 years have passed since last update.

git の文字化け

Posted at

git diff での日本語の文字化け

Overview

git diff の出力に日本語が含まれているときに、下記のように2桁の数値ばかりの表示に文字化けしてしまうことがあります。


$ git diff
diff --git a/README.txt b/README.txt
index 0005c4e..5d6ea9c 100644
--- a/README.txt
+++ b/README.txt
@@ -1 +1 @@
-<E3><81><82><E3><81><84><E3><81><86><E3><81><88><E3><81><8A>
+<E3><81><8B><E3><81><8D><E3><81><8F><E3><81><91><E3><81><93>
このような場合は、ページャの設定 (core.pager) で下記のように LESSCHARSET を設定するようにします。

$ git config --global core.pager "LESSCHARSET=utf-8 less"
あるいは、システムの環境変数で Git のページャ設定を行っておくこともできます。

~/.bash_profile
export GIT_PAGER="LESSCHARSET=utf-8 less"

これで正しく日本語の差分が表示されるようになります。


$ git diff
diff --git a/README.txt b/README.txt
index 0005c4e..5d6ea9c 100644
--- a/README.txt
+++ b/README.txt
@@ -1 +1 @@
-あいうえお
+かきくけこ
git status
git status の表示で、日本語のファイル名が下記のように文字化けしてしまうことがあります。
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        "\343\201\202\343\201\202\343\201\202.txt"

nothing added to commit but untracked files present (use "git add" to track)
このような場合は、下記のように core.quotepath 設定を false に設定します。

$ git config --global core.quotepath false
これで正しく日本語のファイル名が表示されるようになります。

$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        あああ.txt

nothing added to commit but untracked files present (use "git add" to track)
設定の確認と削除
上記で設定した値を確認するには下記のようにします。

$ git config --global --list
core.pager=LESSCHARSET=utf-8 less
core.quotepath=false

設定した値をクリアするには下記のようにします。

$ git config --global --unset core.pager
$ git config --global --unset core.quotepath

下記より引用

完コピしましたありがとうございます。
https://maku77.github.io/git/settings/garbling.html

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8