I think lots of systems are using UTF8 internally because adding support for widestrings is a *lot* of work... and for a lot of string operations it doesn't matter that much, for instance regexps. (But even there you will lose the functionality of easily matching different characters that doesn't fit in ASCII, for instance, like "[åäö]", since they will have multiple characters in the UTF8 string.)