http://blog.grayproductions.net/articles/ruby_19s_string
The problem is, when an outside service or file is provided to you, it doesn't always come with information about how the text is encoded. With Ruby 1.9, you have the option of specifying the character encoding for a given string, but if the string is from an outside source, it's often a guessing game.
Really though, the pain in the ass has little to do with 1.9 - encodings are just a pain because they aren't universally supported. So we'll often times get handed bytes with no encoding context so we have to assume or use detection libraries like this.
One argument is "well just use UTF-8 for everything" or "just pass everything around as binary then it'll be fine" - but unfortunately we don't live in a world where either of those solutions will work for everyone.
Are encodings in 1.9 really still that bad -- several years after its initial release.