in reply to Re: Converting East Asian strings
in thread Converting East Asian strings

As far as I'm aware, there are some plans for redoing the filename handling of Perl, but the ugly problem is that Windows is the only OS that has something remotely resembling a statement about the encoding of filenames. Unixish operating systems use "native" filename encoding, that is, simple octet streams, but there is no easy way for Perl to find out what encoding a filename uses. I don't know if at least OSX states the encoding of a filename, or even simply uses UTF8. And let's not start talking about network shares...

Replies are listed 'Best First'.
Re^3: Converting East Asian strings
by almut (Canon) on Apr 14, 2009 at 19:38 UTC
    ...but there is no easy way for Perl to find out what encoding a filename uses.

    Not sure why Perl would have to find out the encoding of filenames. Last time I needed such a thing, I would have been perfectly happy to have a pragma - something like use filenames "UTF-8", or so - in order to manually specify the encoding being used with filenames on the system in question.

    I mean, no need to auto-determine anything here. Perl doesn't try to determine the encoding of file's contents either, or the encoding of the script source... For this, we have IO layers and use utf8; (for the source) or use encoding "...";. In other words, here it's also in the responsibility of the programmer to specifiy all encodings being used.  Why should filenames be handled differently?