Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: encoding of file names

by amir_e_a (Hermit)
on Mar 25, 2010 at 20:53 UTC ( #830964=note: print w/replies, xml ) Need Help??


in reply to Re: encoding of file names
in thread encoding of file names

Can you please tell me how to decode them? I am not quite experienced with Encode. I still don't understand what to specify as the from encoding.

And since you mention it, i actually am curious about Windows, because i plan to make this program portable and i already had similar problems on Windows in the past.

Replies are listed 'Best First'.
Re^3: encoding of file names
by ikegami (Pope) on Mar 25, 2010 at 21:34 UTC

    I still don't understand what to specify as the from encoding.

    Usually, the file names are text encoded as per the local's encoding. In fact, I dare say that's the expectation.

    Most users have a UTF-8 locale. You could assume UTF-8, and worry about it when someone complains.

    If you want to actually get the right encoding, your best bet is probably the following undocumented function:

    require encoding; # Or "use encoding ();" with the parens. my $locale_encoding = encoding::_get_locale_encoding();

    This is what core module open uses.

    And since you mention it, i actually am curious about Windows

    It's a real mess. Bad support by builtins and by modules for accessing Windows's wide character interface. Bad support at finding the code page (last time I checked) of the single-byte interface (even though it's easier than locales in unix). Maybe some other time.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://830964]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2019-12-07 09:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Strict and warnings: which comes first?



    Results (160 votes). Check out past polls.

    Notices?