📅  最后修改于: 2023-12-03 15:17:48.717000             🧑  作者: Mango
这是一个Mysql2的错误信息,提示字符串值不正确。具体的错误原因是字符串中包含了非法字符 \xE2\x80\x8B
,也就是Unicode编码中的ZERO WIDTH SPACE
。
这个错误通常发生在将文本数据插入到数据库中时,文本数据中含有Unicode编码中的非法字符。可以通过过滤非法字符或使用UTF-8编码解决该问题。
解决方案:
sanitize
方法过滤非法字符:clean_text = ActionController::Base.helpers.sanitize(text, tags: [])
clean_text = text.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '')
以上两种解决方案都能帮助我们过滤掉非法字符,避免Mysql2的错误信息出现,同时保证数据的完整性。
保持数据库表中的纯净,更好的存储和处理数据,是每个程序员的责任。