広告 Git

Git 日本語データの文字化けを修正

Git で日本語データを管理する際、文字化けが生じます。文字化けのまま、処理してもデータそのものに問題はないのですが、文字化けしていない方がいいですよね?
この記事では、文字化けを直すコードを紹介します。

日本語データの文字化け

コミットすると、日本語データは上記のように文字化けします。どうして文字化けが起きてしまうのでしょうか。
上記の画像は、コミットメッセージ「変更」が文字化けしています。

文字化けが起きる原因

  1. 文字エンコーディングの不一致
    Git リポジトリ内のファイルは、通常、UTF-8エンコーディングを使用するが、開発者の環境や使用するエディタにより、別のエンコーディングが使われることがあります。これが原因で、文字化けが発生することがあります。

  2. コミットメッセージのエンコーディング
    コミットメッセージも同様にエンコーディングの問題が起こることがあります。Git はデフォルトでコミットメッセージをUTF-8で扱うが、異なるエンコーディングでコミットメッセージを書くと、文字化けが生じることがあります。

  3. ターミナルやコンソールの設定
    ターミナルやコンソールの文字エンコーディング設定が、Gitの期待するエンコーディングと一致していない場合も文字化けが発生します。特にWindowsのコマンドプロンプトやPowerShellでは、デフォルトでShift-JISが使用されるため、UTF-8エンコーディングのGitメッセージが正しく表示されないことがあります。

文字化けを修正する

下記の文字コードを使用してみましょう。

  1. [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("utf-8")
  2. $ENV:LESSCHARSET="utf-8"

 

コミットメッセージが文字化けせずに表示されましたね!これで、OKです。
上記は、ターミナル上で文字化けを修正しましたが、Git の設定で文字化けを修正する方法もあります。

Git側で文字化け修正設定

スタートメニューから「GitBash」を開き、下記のコードを入力してください。

  1. git config --global i18n.commitEncoding UTF-8
  2. git config --global i18n.logOutputEncoding UTF-8

 

これで、文字化け問題が減ると思います。対応してみてください。

ただ、この文字化けは1回コミット→プッシュすると元に戻ります。毎回、文字化け修正するのは面倒ですよね…。なので、どうしても修正した内容を確認したいときは、ステージングする前に行ってください!

-Git