【发布时间】:2014-03-18 03:48:24
【问题描述】:
SomeObject.find(20).client.full_name.downcase.bytes.each{|b|放 b}
- 98 197 130 97 197 188 101 106 101 119 115
=> "błażejewsk" OtherClass.find(36).client.downcase.bytes.each {|b|放 b}
- 98 197 129 97 197 187 101 106 101 119 115
=> "bŁaŻejewsk"
如您所见,特殊字符在两个字符串中都有不同的字节。 两个字符串都有 Encoding:UTF-8,所以 force_encoding 或类似的东西,都无济于事。 == 返回错误。我应该如何转换这些字符串,以便从比较中得到真实的结果?
【问题讨论】:
-
我不明白,你想避免什么?
-
请努力提高您的帖子质量。问题是什么?
-
@toro2k 我猜 130 和 129..
-
这可能是关于 Unicode 中不区分大小写的字符串比较。
标签: ruby string character-encoding