Ruby:UTF-8中的无效字节序列

时间:2010-05-26 08:32:16

标签: ruby encoding character-encoding rubygems

我正在编写一个使用LESS语言的Django项目。我正在使用django-css应用程序执行此操作。我的同事收到以下错误,但我不是。我怀疑这可能是因为正在编译的文件编码错误。奇怪的是我们从同一个hg repo克隆了所以我不明白为什么他的文件的编码会出错并且我的权利正确。

TemplateSyntaxError at /qa/
Caught an exception while rendering: /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/engine.rb:49:in `gsub': invalid byte sequence in UTF-8 (ArgumentError)
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/engine.rb:49:in `prepare'
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/engine.rb:30:in `parse'
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/engine.rb:45:in `to_css'
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/command.rb:58:in `parse'
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/lib/less/command.rb:51:in `run!'
    from /home/rajoy/.gem/ruby/1.9.1/gems/less-1.2.21/bin/lessc:102:in `<top (required)>'
    from /var/lib/gems/1.9.1/bin/lessc:19:in `load'
    from /var/lib/gems/1.9.1/bin/lessc:19:in `<main>'

我有红宝石1.8.6和宝石1.3.6。

我的同事有红宝石1.8.7和宝石1.9.1。

为什么会发生这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

Ruby版本。 1.9改变了字符串编码的处理方式。

http://blog.grayproductions.net/articles/ruby_19s_string