According to Dick Hardt:
For example, when opening files, it would make sense that a UTF-8
string could be handed to open(), and to be consistent with how
strlen() works, open() would know which mode the user wanted to be
in and do_the_right_thing (in this case, it would be to convert the
UTF-8 to UCS-2 and make a W api call rather than the A api call).
Well, here's the deal: Larry has consistently held that 'strings is
strings'; there's no such thing as a "UTF-8" string. There are just
operations that treat strings as UTF-8, and operations that don't.
Perhaps, under Win32, the open operator needs to notice C<use utf8>.
1. C<use bytechar> pragma
This would enable a C<use utf16> or other character encoding
in the future.
I don't see a use for anything other than UTF-8. UTF-8 allows the
encoding of huge character codes (up to 40-some bits), so unless you
know of a need for more-than-40-some-bits per character, UTF-8 is
plenty.
--
Chip Salzenberg - a.k.a. - <chip(_at_)perlsupport(_dot_)com>
"When do you work?" "Whenever I'm not busy."