Ошибка "несовместимые кодировки символов: ASCII-8BIT и UTF-8" из-за 8-битной кодировки файлов cookie (Rails 3 и Ruby 1.9)

Я переместил веб-приложение, которое использовало 1.8 .7 до 1.9.2, и теперь я продолжаю получать

incompatible character encodings: ASCII-8BIT and UTF-8

У меня есть кодировка базы данных в UTF-8, а также у меня есть config.encoding = "utf-8".

Я видел некоторые идеи как возможные обходные пути и Я добавил

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

, но это тоже не сработало.

Один конкретный фрагмент кода, в котором я получаю эту ошибку, -

%ul.address
- @user.address.split(',').each do |line|
  %li= line.titleize

Я использую HAML, я проверил line.titleize, а кодировка - UTF-8 . Похоже, что шаблон рендерится с ASCII-8BIT, и он проваливается каждый раз, когда я пытаюсь отобразить символы типа «ñ»

Я работаю с Rails 3.0.5.

Я прочитал сообщение Джеймса Эдвард Грей, но я все еще могу понять, что происходит; (.

Буду очень признателен за любую помощь: D.

Я также пробовал:

"string".force_encoding("UTF-8")

И

# encoding: utf-8

Безуспешно.

Исправлено


См. Комментарии.

8
задан tardate 12 July 2011 в 11:41
поделиться