githubで日本語ドキュメントが文字化けする問題

githubに日本語ドキュメントを上げると,テキストエディタでは表示されていたはずの日本語が文字化けしてしまうと言った問題が発生することがありました.
githubでは日本語はつかえないのか!?とおもいましたが,普通に日本語でreadmeを書いている人もたくさんいます.
文字化けしてしまう際の対処法について以下に記述していきます.

 

 

文字コードの問題

結論から言いますと,日本語エンコーディングの違いにより,文字化けが発生していました.
githubでは文字コードutf-8が用いられています.
私の場合,テキストエディタ(vim)の日本語入力の際の設定がiso-2022-jpとなっていたため,iso-2022-jpの文字を無理やりutf-8として表示していたために文字化けが発生しているといった状態でした.
みなさんも,文字化けが発生した場合にはエンコーディングをutf-8に設定してみると良いでしょう.

 

 

vimで文字コードを指定する

githubで文字化けしないよう,vimでドキュメントを保存する際のファイルエンコードを指定することができます.
vimの文字コードに関する設定を確認してみましょう.

 

 

vim内部で扱われる文字コードの指定

読み込まれた文字列がvim内部でどのように扱われるかを指定することができます.
こちらの設定はドキュメントを保存する際にどのよな文字コードで保存されるかといったことに直接は関係ありませんが,このような設定ができるということを覚えておくと良いとおもいます.
このencordingはあとで設定しても反映されないので,予め.vimrcに書いておく必要があります.

 

 

ファイル読み込み時の文字コードの指定

この設定はファイルを読み込む際の文字コードの指定をすることができます.
左から順番に文字コードを試していき,成功した文字コードでファイルをよみこみます.
成功した文字コードはそのバッファでのfencに設定されるので注意が必要です.
fencについては以下で説明します.

 

 

ファイル書き込み時の文字コードの指定

こちらの設定はファイルを書き込む際の文字コードの指定することができます.
だたし,ファイルを読み込んだ際にはそのファイルで使用している文字コードがfencとして設定されるので注意が必要です.
つまり,fencをutf-8に設定しても,iso-2022-jpで読み込んだファイルはiso-2022-jpで,shift-jisで読み込んだファイルはshift-jisとして保存されます.
もし,読み込んだファイルの文字コードを変更したい場合は再度設定しなおして保存する必要があります.

iso-2022-jpのファイルをutf-8に変換したい場合には,

とすれば良いですね.