1

我添加到 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?!

我该如何解决这个问题?

4

1 回答 1

4

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

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

- # encoding: UTF-8
于 2013-07-30T12:35:58.617 回答