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:
http://wiki.rubyonrails.org/rails/pages/HowToUseUnicodeStrings http://julik.textdriven.com/svn/tools/rails_plugins/unicode_hacks
Chris