一侧的字符串来自服务器抓取,因此它们可能不同,但看起来相同:
irb(main):013:0> "italy" == "italy"
=> false
我检查了编码,结果是一样的
irb(main):014:0> "italy".encoding === "italy".encoding
=> true
irb(main):016:0> "italy".encoding
=> #<Encoding:UTF-8>
为什么它们不同 (==) ?
答案 0 :(得分:2)
第一个字符串的开头包含一个 LEFT-TO-RIGHT MARK。当您打印字符串时,这不可见,但这确实意味着字符串不同。比较对字符串调用 bytes
或 chars
的结果。
您需要在处理字符串之前将其剥离。