概要
Windows11でPowershellを使用している際、Gitのコミットメッセージを日本語で書くと、コミット後にコミットメッセージが文字化けする現象に遭遇しました。
[main d2fb586] [update] 遨コ縺ョindex.js繧剃ス懈・
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.js
解決方法を探してみたところ、PowerShellの設定の問題だということがわかりました。
本稿では、PowerShell で日本語が文字化けする問題に対する解決方法の一つを紹介します。
著者の環境紹介(簡易)
- WindowsOS: Windows 11
- PowerShell: PowerShell 7.4.3
- git version 2.45.1.windows.1
PowerShellでのバージョンの確認方法
- OS のバージョンとビルド番号:
winver
- PowerShell のバージョン:
$PSVersionTable
- Git のバージョン:
git --version
解決方法
1. PowerShell の文字コードを確認する
以下のコマンドを実行して、現在の文字コードを確認します。
[Console]::OutputEncoding
以下のような表示になっていたら、今回の方法で修正できる可能性が高いです。
EncodingName : Japanese (Shift-JIS)
WebName : shift_jis
HeaderName : iso-2022-jp
BodyName : iso-2022-jp
(etc...)
2. PowerShell の文字コードを UTF-8 に変更する
以下のコマンドを実行して、文字コードを UTF-8 に変更します。
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
1.のコマンドを再度実行し、以下のようになっていれば成功です。
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
(etc...)
3. Git の設定を確認する
Git を使用する場合、念のため以下の設定になっていることを確認してください。
git config --global core.quotepath false
git config --global i18n.commitencoding utf-8
設定を永続化するには
PowerShell の設定は、一時的な変更です。
PowerShell を再起動すると、設定は元に戻ります。
PowerShell のプロファイルに上記のコマンドを追加することで、
PowerShell 起動時に自動的に文字コードを UTF-8 に設定できます。
備考
プロファイルパスを確認するには
プロファイルパスを確認するには、以下のコマンドを実行してください。
$PROFILE
プロファイルをエディタで開くには
プロファイルは、エディタで開くことができます。
例
Visual Studio Code(以下、VSCode)を使用すると、以下のコマンドで直接開くことができます。
code $PROFILE
他のエディタを使用している場合も、VSCodeと同じような手順でファイルを開けます。