質問: 最初に ---- はじめまして。 今回ご相談したいことは、Git for Windowsの日本語文字化けの解決方法です。 困っていること -------- (1)GitHubのリモートリポジトリに、txtファイルをPushします。 ⇒ このtxtファイルの中身は以下になります。 ``` サルでもわかる ukkikki ``` (2)リモートリポジトリを確認すると、txtファイルの中の日本語が全て文字化けして表示されます。どのようにして解決したらよろしいでしょうか? ⇒ 日本語の文字化けを確認すると以下のようになっていました。 ``` �T���ł��킩�� ukkikki ``` 開発環境 ----- ◆Git for Windows ⇒ 改行コードの自動変換は、「Checkout as-is, commit Unix-style line endings」を選択しています。この場合、チェックアウト時は改行コードを変換せず、コミット時のみ[CR+LF]を[LF]に変換するようになります。 ⇒ それ以外は、デフォルトでチェックされているものでインストールしました。 ◆Gitクライアント「TortoiseGit」 ⇒ コミットやプッシュはこちらを利用しております。 --- 拙い日本語で申し訳ありませんが、 ご回答よろしくお願いします。
回答: こんにちは。 英数字と記号はほぼASCIIコードしか使われていませんが、ASCIIコードで表現できない文字は、複数の文字コードが今も使われています。日本語もその一つです。 日本語Windowsのデフォルトは、Shift-JISコードです。(正確にはCP932) しかし、現在はUTF-8が使われる場面が非常に多く、WEBサイトの多くはUTF-8でエンコードされています。恐らくGitHubもそうだと思います。 Shift-JISコードがGitへのコミットやプッシュする際に自動的にShift-JISがUTF-8へ変換されると便利ですが、そのような機能は実装されていません。(完全な変換は不可能ですので自動変換はするべきでないと思います。) その結果、もし、Shift-JISでエンコードされた日本語テキスト・ファイルをGitにコミットしてGitHubへプッシュすると、Shift-JISのままリポジトリへ登録されます。 それをWEBブラウザで表示させると、Shift-JISなのにUTF-8として解釈し、文字化けする筈です。 ということで、恐らくknakajimaさんがお使いのエディタがShift-JISで日本語をエンコードしているのだろうと思います。 エディタに対してUTF-8でエンコードするよう指定して保存したものをコミット→プッシュすれば文字化けを解消できるだろうと思います。メモ帳の場合は、ファイル保存時に文字コードを指定できるのでUTF-8を指定すればOKです。 ただし、BOM有りUTF-8で保存されるため、そのファイルがbatだったら、実行時にエラーがでます。 この場合はBOM無しUTF-8で保存できるエディタを別途用意する必要があります。