[英]invalid byte sequence in UTF-8 for single quote in Ruby
我正在使用以下代碼在模板中顯示描述:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.