Если разработчик напишет этот метод и вызовет кодировку:: UndefinedConversionError ( "\ xE2" из ASCII-8BIT в UTF-8): ошибка.
Эта ошибка происходит только случайным образом, поэтому данные, находящиеся в исходном поле БД, являются тем, что вызывает проблему. Но поскольку у меня нет никакого контроля над этим, что я могу поместить в метод ниже, чтобы исправить это, так что плохие данные не вызывают никаких проблем?
def scrub_string(input, line_break = ' ')
begin
input.an_address.delete("^\u{0000}-\u{007F}").gsub("\n", line_break)
rescue
input || ''
end
end
Будет ли это работать?
input = input.encode('utf-8', :invalid => :replace, :undef => :replace, :replace => '_')