Windows + CompassでInvalid Windows-31Jエラーがでる場合の対処法

May 17, 2015
Compass

Windows + CompassでCompassをコンパイルしようとすると下記エラーが出る場合の対処方法。

error sass/style.scss (Line 11: Invalid Windows-31J character "\xE9")

動作的にはCompassを実行しているrubyさんが、Compassでコンパイルを実行する際、デフォルトの文字コード(Windows-31J)でコンパイルをしようとして日本語が含まれていると起こるようです。

日本語を使用しないとかRUBYOPTにUTF-8を加えるとかの方法もあるようですが、config.rbに定義を追加すれば解決するので今回はその方法で対処しました。

config.rbのどこでもいいので、下記を記述します。

Encoding.default_external = 'utf-8'

最初小文字で"encoding.default_external"を指定してあれれ?と思ったりしましたので、先頭は大文字で。
試すときにコマンドラインで"--trace"をつけて実行するとエラーもわかりやすくておすすめです。

compass compile --trace