ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
sass文件编译时候使用ruby环境,无论是界面化的koala工具还是命令行模式的都无法通过,真是令人烦恼。
容易出现中文注释时候无法编译通过,或者出现乱码,找了几天的解决方法终于解决了。
这个问题的奇葩之处在于在xp环境中没有任何问题,只是在windows7环境中才出现的这个。
sass编译时候出现如下错误的解决方法:
Syntax error: Invalid GBK character "\xE5" on line 8 of E:\work\sass\sass\_big_box.scss from line 16 of E:\work\sass\sass\main.scss Use --trace for backtrace.
或者
Syntax error: Invalid GBK character "\xE5" on line 2 of E:\work\sass\sass\main.scss Use --trace for backtrace.
解决办法:
1.koala可视化编译工具,
找到安装目录里面sass-3.3.7模块下面的engine.rb文件,例如下面路径:
C:\Program Files (x86)\Koala\rubygems\gems\sass-3.3.7\lib\sass
在这个文件里面engine.rb,添加一行代码
Encoding.default_external = Encoding.find('utf-8')
放在所有的require XXXX 之后即可。
2.命令行工具同理
找到ruby的安装目录,里面也有sass模块,如这个路径:
C:\Ruby\lib\ruby\gems\1.9.1\gems\sass-3.3.14\lib\sass
在这个文件里面engine.rb,添加一行代码(同方法1)
Encoding.default_external = Encoding.find('utf-8')
放在所有的require XXXX 之后即可。
Mac下中文的支持:
找到文件:
/Users/sunnywoo/Downloads/Koala.app/Contents/Resources/app.nw/rubygems/gems/sass-3.4.9/lib/sass/engine.rb
这个是我机器的安装目录在require 最下面 加入以下代码 即可解决
感谢:https://github.com/imathis/octopress/issues/232 mattn 提供了一种解决方法,用到这里极为合适。