Issue #9883 has been updated by Nobuyoshi Nakada.

Duplicates Bug #9882: Issue with hash string keys added

----------------------------------------
Bug #9883: Different behaviour between `==` and hash key lookup regarding multibyte character fragment
https://bugs.ruby-lang.org/issues/9883#change-46970

* Author: Tsuyoshi Sawada
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: 2.1
* Backport: 
----------------------------------------
This question is reported in stackoverflow (http://stackoverflow.com/questions/23946127). When a multibyte character is split by `slice`, `==` ignores the split fragment of the character, while key lookup on hash does not:

    s1 = "”Ēxxxxxxxxxxxxxxxxxxxxxxxx".slice(1, 24)
    s2 = "xxxxxxxxxxxxxxxxxxxxxxxx"

    s1 == s2          # => true
    {s2=>""}.key?(s1) # => false

This is inconsistent, and I believe either of the above two is a bug. If itis not a bug, but intended, then it is misleading, and I propose the feature should be changed.



-- 
https://bugs.ruby-lang.org/