Ruby String methods assume the string is a single byte per character,
which as you know, is not the case with unicode strings. therefore a
multibyte character in your string is going to throw everything off.
Such is the nature of Ruby.
as a starting point, i suggest you check out: