ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法

问题描述:

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

Syntax error: Invalid GBK character “xE5″

       on line 8 of E:worksasssass\_big_box.scss

       from line 16 of E:worksasssassmain.scss

 Use –trace for backtrace.

或者

Syntax error: Invalid GBK character “xE5″

       on line 2 of E:worksasssassmain.scss

 Use –trace for backtrace

解决方法:

一.koala可视化编译工具

找到安装目录里面sass-3.3.7模块下面的engine.rb文件,例如下面路径:

C:Program Files (x86)Koala ubygemsgemssass-3.3.7libsass

在这个文件里面engine.rb,添加一行代码

Encoding.default_external = Encoding.find("utf-8")

放在所有的require XXXX 之后即可。

二.命令行工具同理

找到ruby的安装目录,里面也有sass模块,如这个路径:

C:Rubylib ubygems1.9.1gemssass-3.3.14libsass

在这个文件里面engine.rb,添加一行代码(同方法1)

Encoding.default_external = Encoding.find(‘utf-8′)

放在所有的require XXXX 之后即可。

三。注意

写完后包下面这个错

F:wampwww oolbarcssindex.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 `

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

原文地址:https://www.cnblogs.com/ertingbo/p/6672359.html