There was String#scan with (/./m) or something like that. I used it in my input module I think.
Ruby 1.8 did support UTF-8, but it would be implicit. That is, it would regard a string as UTF-8 automatically, because it's backwards compatible with ASCII. Other encodings would not work (such as multi-byte string), but using scan it was still possible to specify the "m" option in a regex (multi-byte) which would kinda make it work. But I'm not sure if it would work with multi-byte or UTF-8 strings, I can't remember.