проблема кодирования рельсов = ( - PullRequest
1 голос
/ 09 декабря 2010

я использую rails 2.3.9 с ruby ​​1.9.2, и когда я пытаюсь обновить мою модель русскими буквами, у меня возникает ошибка в журнале единорога:

Error during failsafe response: incompatible character encodings: UTF-8 and ASCII-8BIT
Read error: #<NoMethodError: undefined method `[]' for nil:NilClass>

след выглядит так:

/home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb: 521: в process_client' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:594:in блок в worker_loop ' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:592:in each' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:592:in worker_loop» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:482:in block (2 levels) in spawn_missing_workers' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:479:in вилка» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:479:in block in spawn_missing_workers' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:475:in каждый» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:475:in spawn_missing_workers' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:489:in maintain_worker_count» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn/http_server.rb:299:in join' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/lib/unicorn.rb:13:in беги» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/gems/unicorn-3.0.1/bin/unicorn_rails:208:in <top (required)>' /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/bin/unicorn_rails:19:in нагрузка» /home/rbdev/.rvm/gems/ruby-1.9.2-p0@rails2/bin/unicorn_rails:19:in ` '

Итак, я не могу детерминировать проблему, единственное, что я знаю - что за проблема в тексте России (когда я обновляю модель английскими буквами - все в порядке.

Ответы [ 3 ]

1 голос
/ 09 декабря 2010

Я ответил на это здесь со сценарием. Почему все строки ASCII-8BIT после того, как я обновил до Rails 3?

Вам нужно

# coding: UTF-8

вверху ваших файлов с ruby ​​1.9.Если это не помогает, это может быть ваша внешняя зависимость, например, БД.

1 голос
/ 09 декабря 2010

Вы должны убедиться, что ваш редактор сохраняет файлы в UTF-8.ASCII afaik - первая часть любой кодировки.Это должно быть причиной того, что вы не получаете никаких ошибок, когда пропускаете русские символы.

0 голосов
/ 09 декабря 2010

вы можете использовать гем "русский" (гем основан на l18n) https://github.com/yaroslav/russian в модели (вместо русских букв): России :: перевод (: some_word)

в файле конфигурации (должен быть закодирован в UTF-8): RU: some_word: 'это строка с русскими буквами (это строка с русскими буквами)'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...