gpt4 book ai didi

ruby-on-rails - Encoding::UndefinedConversionError ("\xE2"从 ASCII-8BIT 到 UTF-8):基于 ROR + MongoDB 的应用程序中的错误

转载 作者:IT老高 更新时间:2023-10-28 13:10:44 25 4
gpt4 key购买 nike

让开发人员编写此方法并导致 Encoding::UndefinedConversionError ("\xE2"from ASCII-8BIT to UTF-8): 错误。

此错误仅随机发生,因此输入的数据是原始 DB 字段是导致问题的原因。但是由于我对此没有任何控制权,我可以在下面的方法中添加什么来修复这个如此糟糕的数据不会导致任何问题?

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 => '_')

最佳答案

是的,这应该可以,它会用下划线替换任何无法转换为 UTF-8 的奇怪字符。

在此处阅读有关在 ruby​​ 中编码字符串的更多信息:

http://ruby-doc.org/core-1.9.3/String.html#method-i-encode

关于ruby-on-rails - Encoding::UndefinedConversionError ("\xE2"从 ASCII-8BIT 到 UTF-8):基于 ROR + MongoDB 的应用程序中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com