Windowsでgrunt-contrib-sassでコンパイル時にエラーが出て、
Error: Invalid Windows-31J character "\xE3"
みたいな感じ。
で対処方
scssのファイルで、
@charset "utf-8";
を先頭につけましょう。
→この解決方法で一緒に仕事する人がmacだと先方はエラーが起きてないので、こっちが一個一個につける。
面倒くさい。先方にも周知。マックに対して肩身が狭い
そもそもなんで発生してるのか?
コマンドプロンプトのデフォルトの文字設定がshift-jisになってる。
→scssに設定してあるコードがない。
→じゃあ、shift-jisって事かな?
→エラー
という状況らしい。日本語に対応したshift-jisで日本語があるとエラーが起きる。という糞を塗りたくった状況のエラーっぽい。
コマンドプロンプトの文字コードを変更しよう
chcp 65001
でエラーを回避できる。
が、毎回打つのが面倒くさい。
chcpをデフォルトで設定できるのか?→結構不可能。
毎回打つようにする?
またコマンドプロンプトの文字コードを変更するのはそれでそれで問題がでるかも。
→結構悩む
sassはrubyなので、rubyのデフォルトの文字を設定する。
環境変数で
RUBYOPT
-EUTF-8
を設定する。
そうすると、
sass
→文字コードの設定がない
→rubyでは文字コード設定なかったら-EUTF-8にします。
→エラーおきない。
この方法が一番いいと思った。