Ruby on rails Ruby中单引号的UTF-8中的字节序列无效
我使用以下代码在模板中显示说明:Ruby on rails Ruby中单引号的UTF-8中的字节序列无效,ruby-on-rails,ruby,Ruby On Rails,Ruby,我使用以下代码在模板中显示说明: json.description resource.description if resource.description.present? 它给出了UTF-8错误中无效的字节序列。我对此进行了一点挖掘,发现问题在于我的描述中只有一句话是“代替”。想知道解决这个编码问题的最佳方法是什么?说明由用户输入,我无法控制。另一个奇怪的问题是,我有多个测试环境,它们都有相同的Ruby和Rails版本,并且运行相同的代码,但是只有一个环境有这个错误 def to_utf8
json.description resource.description if resource.description.present?
它给出了UTF-8错误中无效的字节序列。我对此进行了一点挖掘,发现问题在于我的描述中只有一句话是“代替”。想知道解决这个编码问题的最佳方法是什么?说明由用户输入,我无法控制。另一个奇怪的问题是,我有多个测试环境,它们都有相同的Ruby和Rails版本,并且运行相同的代码,但是只有一个环境有这个错误
def to_utf8(str)
str = str.force_encoding("UTF-8")
return str if str.valid_encoding?
str = str.force_encoding("BINARY")
str.encode("UTF-8", invalid: :replace, undef: :replace)
end
参考: