🖥️
CLIからgit コマンド実行時、日本語が数字で表示される対策
Tera Termでgit statusを実行したときに日本語ファイル名やメッセージが「数字(例: 30452 12354 …)」に化けるのは、主に文字コードとロケールの不一致が原因っぽいです。
原因1
Gitは日本語ファイル名を内部的にUTF-8で管理しています。
localeが正しく設定されていないと、UTF-8を正しく解釈できずに数字(Unicode)に化けます。
原因2
Tera Termの文字コード設定
デフォルトで「Shift_JIS」や「EUC-JP」などになっていると、UTF-8の出力が正しく表示されません。
対策するには下記のコマンドで、ロケールの設定を行えばよさそうです。
locate
で現在のロケールを確認してください。
もしCやPOSIX などになっているならUTF-8に変更します。
日本語UTF-8に変更する場合は、下記の例となります。
sudo update-locale LANG=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
起動時に毎回設定するのが億劫でしたら、.bashrcに設定コマンドを入れておきましょう。
また、下記のコマンドでgitの設定をUTF-8に統一します。
git config --global core.quotepath false
git config --global i18n.logOutputEncoding utf-8
git config --global i18n.commitEncoding utf-8
core.quotepath false
⇒git status で日本語ファイル名をエスケープせずUTF-8で出力する設定です。
i18n.*Encoding utf-8
⇒ログやコミットメッセージをUTF-8にする設定です。
Discussion