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

时间:2012-11-02 12:00:55

标签: ruby-on-rails encoding

我是rails的新手,我在windows7中使用rails 3.2.3。当我运行bundle install时,我有一个rails项目,它成功了。而rails服务器也运行良好。当我给localhost:3000它会抛出这样的错误,

 ERROR ArgumentError: invalid byte sequence in UTF-8
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:163:in `sub!'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:163:in `_PrintString'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `block in write'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `each'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console/ANSI.rb:146:in `write'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/rack/log_tailer.rb:29:in `print'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/rack/log_tailer.rb:29:in `tail!'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/rack/log_tailer.rb:18:in `call'
    c:/Ruby193/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service'
    c:/Ruby193/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
    c:/Ruby193/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
    c:/Ruby193/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

我无法弄清楚究竟问题出在哪里。我在谷歌搜索但没有相关的解决方案。任何人都可以帮助我。

3 个答案:

答案 0 :(得分:0)

在视图消息中,您可能有拉丁字符(á,é,í,ó,ú,ñ),有时在不同操作系统之间复制代码时,您可能会生成无效字符。

尝试查看查找特殊字符的视图文件,并尝试删除它们以避免此错误。

答案 1 :(得分:0)

由于fastfile中每个命令之前的空格,我遇到了这个问题。每个通道下的命令必须向内缩进一个空格。

  lane :beta do
   gradle(task: 'assemble')  #correct (one space)

    gradle(task: 'assemble') #incorrect (many spaces)
  end

答案 2 :(得分:-7)

尝试使用更多现代机架式服务器,例如Thin

<强>的Gemfile:

gem 'thin'

控制台,运行:

$ bundle
$ rails s