问题描述:

sass文件编译时候使用ruby环境,在xp环境中没有任何问题,但是在windows7环境下无论是界面化的koala工具还是命令行模式的都会出现以下错误:

 

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

 

 

 

解决方法:

一.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 之后即可。

 

二.命令行工具同理

找到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 之后即可。

 

三。注意

写完后包下面这个错

F:\wamp\www\toolbar\css\index.scss21:07:19

F:/Koala/ruby/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': F:/Koala/rubygems/gems/sass-3.4.9/lib/sass/engine.rb:53: syntax error, unexpected tCONSTANT, expecting end-of-input (SyntaxError)
...require 'sass/supports'Encoding.default_external = Encoding....
...                               ^
from F:/Koala/ruby/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from F:/Koala/rubygems/gems/sass-3.4.9/lib/sass.rb:99:in `'
from F:/Koala/ruby/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from F:/Koala/ruby/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from F:/Koala/rubygems/gems/sass-3.4.9/bin/sass:6:in `'
from F:/Koala/bin/sass:18:in `load'
from F:/Koala/bin/sass:18:in `

 

那就是 添加那一行代码  注意是 英文输入法下  才可以!!!我已经从坑里跳出来了。