はじめに
VBAのマクロをGithubで管理しようとGitHub Desktopをインストールしたのですが、WEB上では正しく表示されるのですが、GitHub Desktopでは全角文字が文字化けしてしまいました。
それを解消する方法です。
手順2まではググれば出てきたのですが、そこまでの設定だと右側の差分を表示するエリアがクルクル回るカーソルが出たままで、ソースが表示されないという状態になりました。
いろいろ調べてPathが原因だと判明したので、同じように悩んでいる方のために情報を共有します。
手順
1 .gitattributes ファイルを作成
リポジトリのフォルダに
.gitattributes ファイルを作成し、以下の内容を記載する
*.bas diff=sjis
*.cls diff=sjis
*.frm diff=sjis
左側は変換対象とするファイル名(ワイルドカード可)
sjisの部分は任意の名称
2 .gitconfig ファイルに記載を追加
C:\Users\{ユーザ名}\.gitconfig
ファイルに、以下のエントリを追加する
特定のリポジトリのみ適用する場合は
レポジトリ配下の非表示フォルダの.gitフォルダにあるconfigファイルを対象にする
[diff "sjis"]
textconv = iconv -f sjis -t utf-8
"sjis"の部分は.gitattributes ファイルで決めた名称
意味:差分を表示するときに、「iconv -f sjis -t utf-8」のコマンドを実行しなさいということ
iconv はLINUXの文字コード変換コマンド
3 iconvコマンドにPathを通す
手順2まででうまくいかない場合
コマンドプロンプトを立ち上げて以下のコマンドを実行
ls | iconv -f sjis -t utf-8
※ ls は windowsの dir に相当するコマンド
エラーになった場合、iconv.exeのあるフォルダにPathを通す
私の環境では以下の通り
C:\Program Files\Git\usr\bin\iconv.exe
Pathを通す方法
コントロールパネルを立ち上げる
右上の検索窓に「環境変数」と打ち込む
「環境変数を編集」をクリックし表示された画面に従いPathを追加する
再度コマンドプロンプトで以下のコマンドを実行し、iconvコマンドが有効になったことを確認
ls | iconv -f sjis -t utf-8