Jekyll の日本語文字変換を解決する

Windows 環境で Jekyll の日本語文字変換がうまくいかなかったので解決方法を記しておく。

原因は Windows のデフォルト文字コード shift_jis が原因のようです。

調べたところだと、Jekyll のテンプレートエンジン Liquid は UTF-8 で 処理するようで、Windows は shift_jis (MS932)  がデフォルトで、この文字コードが違う関係でコンパイル時に日本語が文字化けしてしまっているみたいです。

解決方法

Liquid での Ruby の文字コード処理を UTF-8 で強制処理してもらう。

以下の場所にある gem の Jekyll ファイルをメモ帳以外のエディターで開きます。

C:\Ruby193\bin\jekyll

ファイルを開いたら、1行目の

#!C:/Ruby193/bin/ruby.exe

#!C:/Ruby193/bin/ruby.exe -Ku

と書き換えて UTF-8N で保存する。

ruby.exe の末尾に -Ku とオプションを付けると強制的に UTF-8 を使うように設定できるようです。

ただ、Jekyll のアップデートの度にファイルを書き換えないといけないのはちょっと面倒ですが・・・(他に方法あるのかな?)

UNIX 系の OS だとこんなことはないんだろうなと思いつつ、日本語の文字化けが解決できました。

参考リソース