Единственное, что force_encoding
делает в 1.9, это то, что он изменяет поле кодирования строки, он фактически не изменяет байты строки.
В Ruby 1.8 нет концепции кодирования строки,так что force_encoding
будет неактивным.Вы можете добавить его сами, например, если вы хотите иметь возможность запускать один и тот же код в 1.8 и 1.9:
class String
def force_encoding(enc)
self
end
end
Конечно, будут другие вещи, которые вы должны будете сделать, чтобы кодировки работали одинаковочерез 1,8 и 1,9, поскольку они решают эту проблему совершенно по-разному.