I found a potential bug where looking up a key that contains an arabic string always returns "nil" instead of the string. To reproduce, run the following script
foo={"arabic"=>"ٱلتَّوْبَة"}pfoo.keys# => ["arabic"]pfoo["arabic"]# => nilpfoo.values_at("arabic")=>[nil]foo.fetch"arabic"# Raises error with - did you mean "arabic" ?
It is U200e LTR mark character.
I assume it was introduced on code editing, not on hash storing, because if I'll try to edit your example (remove key and then re-enter it manually), everything works: