http://www.perlmonks.org?node_id=536228


in reply to how to read unicode filename

The console in which you're running your code is probably using a font that includes only Latin1 or ISO-8859-1 glyphs.

When you wrote "of course, I can't do anything with the filenames returned (like open them)" were you basing this on the results obtained from testing actual code, or on the assumption that because you were seeing the wrong characters in the console, they must be wrong in the data?

Replies are listed 'Best First'.
Re^2: how to read unicode filename
by uva (Sexton) on Mar 13, 2006 at 14:23 UTC
    dear monks,
    consider a path named d:\\directory1\\

    contains the list of directories , some directory contains english letters and some contains chinese letters.
    if i use the following program to list the sub directories, it is not giving the directory with chinese letters.
    open output,">:utf8","D:\\directory1\\output.doc" or die "Couldn't ope +n STDOUT: $!"; opendir DIR,"D:/directory1" or print " \ncould not open the directory +: $!"; print OUTPUT "\nreading the list from the directory\n"; while ($list=readdir DIR) { if(-d $list) { print OUTPUT "$list\n"; } }
    it not even recognise the chinese directory . And the output is
    . .. directory1 directory2
    both thes directories contains only english letters. But the directories containing chinese letters is not displayed in that output file.