5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git】文字コードがUTF-8以外のファイルを扱う

Last updated at Posted at 2022-09-24

問題

文字コードがUTF-8以外のファイルをGitリポジトリにコミットすると、そのファイルが文字化けしてしまう。
(厳密にはファイル自体は文字化けしておらず、差分表示などの際にUTF-8でデコードされるために文字化けする)

解決策

リポジトリ直下に .gitattributes ファイルを作成し、対象のファイルに working-tree-encoding 属性で正しいエンコーディングを指定する。

例えば、WindowsでShift_JIS(cp932)の.txtファイルを扱いたい場合は以下のようにする。

.gitattributes
*.txt working-tree-encoding=cp932

なお、内部的には指定されたエンコーディングとUTF-8とが相互変換されているだけで、実際のGitリポジトリにはUTF-8で上がるので注意。

詳細は公式ドキュメントを参照。
Git - gitattributes Documentation

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?