grunt插件grunt-contrib-haml无法处理UTF-8符号

时间:2013-07-30 10:03:52

标签: node.js haml gruntjs utf

我添加到grunt项目 https://npmjs.org/package/grunt-contrib-haml

Gruntfile.coffee http://pastebin.com/JzDrVhrA

我在终端

中运行grunt命令

当我尝试更改haml文件时,我得到了这个

➜  caslty  grunt
Running "watch" task
Waiting...OK
> File "index.haml" changed.

Running "haml:compile" (haml) task
Haml error on line 58: Invalid US-ASCII character "\xD0"
    Use --trace for backtrace.
Warning: Haml error on line 58: Invalid US-ASCII character "\xD0"
    Use --trace for backtrace. Use --force to continue.

Aborted due to warnings.
Completed in 1.160s at Tue Jul 30 2013 12:48:17 GMT+0300 (EEST) - Waiting...
OK

我的haml文件http://pastebin.com/BitjWkjq包含俄语字符。但为什么haml无法处理UTF8?!

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

当Haml从Haml收到您文件的内容时,它会将其视为US-ASCII编码,因此会产生非ascii字符的错误。

您可以使用与指定带有编码注释的Ruby文件的源编码类似的方式指定Haml的编码。将此添加为您Haml中的第一件事:

- # encoding: UTF-8