如果开发人员编写此方法并导致Encoding :: 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 => '_')
答案 0 :(得分:2)
是的,这应该有用,它会替换任何不能用下划线转换成UTF-8的怪异角色。
在这里阅读有关在ruby中编码字符串的更多信息: