Prepros SCSSコンパイル時に’Error: Invalid Windows-31J character “\xE3″‘のエラーが出る

PreprosのSCSSコンパイラは快適に動いてくれてDreamweaverよりも信頼性が高い。

個人的にはcssファイルやJsファイル内では2バイト文字は使用しないが、git環境などで共有作業をしていると他の人が書いたコードが紛れ込むことがある。

先日SCSSを保存した時に、Error: Invalid Windows-31J character “\xE3″ なるエラーが発生しページが完全に崩れてしまった。

PreprosのコンパイラにはNode Sassを指定しているが、SCSSコード内にWindows-31J 文字コードが紛れてしまったようだ。

良く考えるとCSS内で2バイトの完全除去は難しいが、SCSS作業に移ってからは偶然発生していなかったのだ。

このエラーは文字コード Windows-31Jに起因するもので、私曰く

  • 『国内ソフトのバグの55.5パーセントは文字コードに起因する』
  • 『リソースの33.3パーセントが無駄に使われている』
  • 『年間の経済損失は2222億円』

などの持論はさておき、解決策は簡単でコード内からWindows-31J 文字を除去する。

いや、もっと簡単で基本的なお約束事があった。

@charset “UTF-8”;

をSCSSの先頭行に記述するのだ。

おすすめ