in reply to Re^3: Accent file names issue
in thread Accent file names issue
As stated, this only works on Windows, also the OP asked for support for Windows
But on Windows I myself would prefer to use Win32::LongPath, because it supports real Unicode Directories and also filename up to 32000 chars
Have a look on the following script: (You have to create these directories first)use strict; use warnings; use utf8; use feature 'unicode_strings'; use charnames ':full'; binmode(STDOUT, ":unix:utf8"); my @strange_dirs = ( 'documentação', 'AC_RAÍZ_CERTICÁMARA_S', 'Катюша', 'Катюша', 'москва', 'ελληνικά-русский', ); for my $dir (@strange_dirs) { print "Looking for directory: [$dir]\n"; if (-d decode_u8($dir)) { print "Directory found: [$dir]\n"; } else { print "---> Error: Directory [$dir] not found <---\n"; } } print "---- now the same with Win32::Longpath ----\n"; use Win32::LongPath; for my $dir (@strange_dirs) { print "Looking for directory: [$dir]\n"; if (testL ('d', $dir)) { # same as -d $dir print "Directory found: [$dir]\n"; } else { print "---> Error: Directory [$dir] not found <---\n"; } } sub encode_u8 { my $s = shift; utf8::encode($s); $s }; sub decode_u8 { my $s = shift; utf8::decode($s); $s };
You will see that Win32::LongPath correctly displays all these directories, but -d decode_u8($dir) doesn't.
My test Environment is: Windows 10 Version 10.0.14393, Perl 64-bit (revision 5 version 22 subversion 2)
In Section
Seekers of Perl Wisdom