US-ASCII(ArgumentError)中的字节序列无效,没有任何帮助

2 ruby linux ubuntu rake ruby-on-rails

每当我跑步时,我都会突然发生错误rake db:create.错误是

rake aborted!
/home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in `block in trace_on': invalid byte sequence in US-ASCII (ArgumentError)
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `map'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `trace_on'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/application.rb:328:in `trace'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/application.rb:183:in `display_error_message'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/application.rb:169:in `rescue in standard_exception_handling'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/application.rb:159:in `standard_exception_handling'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/bin/rake:23:in `load'
  from /home/me/.rvm/gems/ruby-1.9.3-p392/bin/rake:23:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我做到了

me@ubuntu:~ export LANG="C.UTF-8"
me@ubuntu:~ export LC_ALL="C.UTF-8"
Run Code Online (Sandbox Code Playgroud)

我有

me@ubuntu:~ echo $LANG
en_US
me@ubuntu:~ echo $LC_ALL
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

Ali*_*per 11

尝试添加,作为此任务触及的文件的第一行,字符串:

#encoding: utf-8
Run Code Online (Sandbox Code Playgroud)

这些文件可能是您的所有自定义初始化程序,您的database.yml等


Arm*_*hov 7

find . -name *.rb | xargs grep -P "[\x80-\xFF]" -l | xargs sed "1i # encoding: utf-8" -i
Run Code Online (Sandbox Code Playgroud)

试试这个来修复每个.rb文件

UPD:仅在ubuntu上测试.