1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gruntのsassで文字化けエラーが出る

Last updated at Posted at 2018-03-06

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にします。
→エラーおきない。

この方法が一番いいと思った。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?