👻
PowerShellでgit add -pを実行した際の日本語文字化け問題の解決策
1. 問題の概要
- PowerShellで
git add -p
コマンドを実行すると、表示されるログ内の日本語が文字化けする -
git diff
コマンドでは日本語が正しく表示される - scoopでインストールしたGitを使用している
git diff
の出力:
❯ git diff
diff --git a/README.md b/README.md
index d6747b5..f214e0b 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,4 @@
# test dir
+
+これはテスト用のリポジトリです。
+
git add -p
の出力:
❯ git add -p
diff --git a/README.md b/README.md
index d6747b5..f214e0b 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,4 @@
# test dir
+
+縺薙l縺ッ繝・せ繝育畑縺ョ繝ェ繝昴ず繝医Μ縺ァ縺吶・[m
+
(1/1) Stage this hunk [y,n,q,a,d,e,?]?
2. 環境
- オペレーティングシステム:Windows 11
- PowerShellバージョン:7.4.1
- Gitバージョン:2.44.0.windows.1 (scoopでインストール)
3. 解決手順
- PowerShellを開く
- 以下のコマンドを実行してPowerShellのプロファイルファイルを編集する
notepad $PROFILE
- プロファイルファイルに以下の行を追加する
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8") $ENV:LESSCHARSET = "utf-8"
- PowerShellを閉じて再度開く
文字化けが解消されたことを確認
❯ git add -p
diff --git a/README.md b/README.md
index d6747b5..f214e0b 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,4 @@
# test dir
+
+これはテスト用のリポジトリです。
+
(1/1) Stage this hunk [y,n,q,a,d,e,?]?
4. 解決手順の説明
- PowerShellのプロファイルファイルに設定を追加することで、PowerShellの出力エンコーディングをUTF-8に変更します。
-
$ENV:LESSCHARSET
を設定することで、less
コマンドが使用する文字セットをUTF-8に変更します。 - これらの設定により、
git add -p
コマンドの出力が正しく表示されるようになります。
Discussion