Подтвердить что ты не робот

Кодирование Rails 3:: СовместимостьError

Я работаю над приложением rails, которое отправляет французский перевод через ajax и по какой-то причине я продолжаю получать следующую ошибку в журнале:

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

Кто-нибудь знает, как это исправить?

ИСПРАВЛЕНИЕ: Это работает на WEBrick sever

Поместите # encode: UTF-8 вверху каждого файла, который вы хотите использовать с разными символами

Я не могу заставить это работать на сервере rails с Thin... кто-нибудь еще сталкивается с этим?

4b9b3361

Ответ 2

Я знаю, что это старо, но у меня была та же проблема, и решение было в ссылке @dennismonsewicz. Подробно, код был:

было:

before_filter :force_utf8_params

  def force_utf8_params
    traverse = lambda do |object, block|
      if object.kind_of?(Hash)
        object.each_value { |o| traverse.call(o, block) }
      elsif object.kind_of?(Array)
        object.each { |o| traverse.call(o, block) }
      else
        block.call(object)
      end
      object
    end
    force_encoding = lambda do |o|
      o.force_encoding(Encoding::UTF_8) if o.respond_to?(:force_encoding)
    end
    traverse.call(params, force_encoding)
  end