Ответ 1
указанная ссылка исправила мою проблему.
В частности myString.force_encoding('UTF-8')
в строке перед отправкой ее для перевода.
Разместил образец кода в файле Application_controller.rb и все хорошо
Я работаю над приложением rails, которое отправляет французский перевод через ajax и по какой-то причине я продолжаю получать следующую ошибку в журнале:
Encoding::CompatibilityError incompatible character encodings: UTF-8 and ASCII-8BIT
Кто-нибудь знает, как это исправить?
ИСПРАВЛЕНИЕ: Это работает на WEBrick sever
Поместите # encode: UTF-8
вверху каждого файла, который вы хотите использовать с разными символами
Я не могу заставить это работать на сервере rails с Thin... кто-нибудь еще сталкивается с этим?
указанная ссылка исправила мою проблему.
В частности myString.force_encoding('UTF-8')
в строке перед отправкой ее для перевода.
Разместил образец кода в файле Application_controller.rb и все хорошо
Я знаю, что это старо, но у меня была та же проблема, и решение было в ссылке @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
Я исправил эту проблему, преобразовывая файл utf8 в ascii. См. Ответ здесь: ruby 1.9 + sinatra несовместимые кодировки символов: ASCII-8BIT и UTF-8