22 lines
1.2 KiB
Plaintext
22 lines
1.2 KiB
Plaintext
Perl module to determine the locale encoding.
|
|
|
|
In many applications it's wise to let Perl use Unicode for the strings
|
|
it processes. Most of the interfaces Perl has to the outside world is
|
|
still byte based. Programs therefore needs to decode byte strings that
|
|
enter the program from the outside and encode them again on the way out.
|
|
The POSIX locale system is used to specify both the language conventions
|
|
requested by the user and the preferred character set to consume and
|
|
output. The Encode::Locale module looks up the charset and encoding
|
|
(called a CODESET in the locale jargon) and arrange for the Encode module
|
|
to know this encoding under the name "locale". It means bytes obtained
|
|
from the environment can be converted to Unicode strings by calling
|
|
Encode::encode(locale => $bytes) and converted back again with
|
|
Encode::decode(locale => $string).
|
|
Where file systems interfaces pass file names in and out of the program
|
|
we also need care. The trend is for operating systems to use a fixed file
|
|
encoding that don't actually depend on the locale; and this module
|
|
determines the most appropriate encoding for file names. The Encode
|
|
module will know this encoding under the name "locale_fs". For
|
|
traditional Unix systems this will be an alias to the same encoding
|
|
as "locale".
|