Ruby 1.9, Rails 2.3.9 и символы юникода в базах данных и представлениях erb, все еще не ходят? - PullRequest
3 голосов
/ 10 июля 2010

У меня есть приложение Rails, работающее на Rails 2.3.9.Работает нормально с ruby ​​1.8.7.Я сейчас тестирую его с рубином 1.9.2.

Приложение загружается нормально, пока я не попытаюсь загрузить страницу, основанную на строке Unicode.Затем я получаю печально известную ошибку кодирования:

ActionView::TemplateError (incompatible character encodings: UTF-8 and ASCII-8BIT) …

Похоже, проблема в том, что я получаю некоторые строки из базы данных как ASCII-8BIT.

Я знаю, что Rails 3 отлично работает с ruby ​​1.9 и unicode.Интересно, было ли решение перенесено на 2.3.

Итак, есть ли способ получить приложения Unicode 2.3.9 rails, работающие под ruby ​​1.9?

Ответы [ 2 ]

3 голосов
/ 10 июля 2010

Итак, я написал плагин , который исправляет две основные проблемы, которые вызывали проблемы с кодированием:

  • Модели ActiveRecord
  • Rails встроенные помощники

См. Плагин UnicodeOverride на GitHub .

1 голос
/ 10 июля 2010

Если вы используете mysql, используйте его вместо самоцвета mysql http://github.com/tmtm/ruby-mysql. Оставьте "mysql" в качестве адаптера базы данных в database.yml.

Мы запускаем ruby ​​1.9.2-rc1 с рельсами 2.3.8, и это решило проблему несовместимой кодировки символов.

...