2013-06-20 3 views
2

Я начинаю с внезапной ошибки всякий раз, когда я запускаю rake db:create. ОшибкаНеверная последовательность байтов в US-ASCII (ArgumentError), ничего не помогает

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>' 

Я сделал

[email protected]:~ export LANG="C.UTF-8" 
[email protected]:~ export LC_ALL="C.UTF-8" 

Я получил

[email protected]:~ echo $LANG 
en_US 
[email protected]:~ echo $LC_ALL 
en_US.UTF-8 
+0

Есть ли locale -a | grep C.UTF-8' что-нибудь производит? – devnull

ответ

11

попробуйте добавить, в первой строке файлов тронуты этой задачи, строка:

#encoding: utf-8 

Эти файлы могут быть все ваши пользовательские initiali zers, your database.yml и т. д.

+1

Спасибо Alive .. это спасло мое время, принимая ответные приветствия ...! – Sai

0

Если ваше имя содержит символ ASCII, отличного от США (у меня есть «Ö»), вы теряетесь с помощью стека Bitnami Redmine, поскольку они записывают это имя без каких-либо изменений в файл setup.rb. Это приводит к недопустимой последовательности байтов в US-ASCII (ArgumentError). Как только я переименовал себя в этот файл на «oe», все сработало хорошо! (После того, как грабли БД: мигрировать)

7
find . -name *.rb | xargs grep -P "[\x80-\xFF]" -l | xargs sed "1i # encoding: utf-8" -i 

попробовать это исправить каждый .RB файлу

UPD: тестировался только на убунту.

+1

Ты, сир, заставил меня найти эти мусорные файлы! – YoyoS

+1

Используемые здесь флаги grep, похоже, не согласны с Mac. – fatuhoku

+0

Поместите одинарные кавычки вокруг * .rb для некоторых установок OS/bash. Спасибо за этот взлом, чтобы обход этой ошибки - к сожалению, не работал в моем случае. – JosephK

Смежные вопросы