summaryrefslogtreecommitdiff
path: root/perl/perl-encode-locale/README
diff options
context:
space:
mode:
Diffstat (limited to 'perl/perl-encode-locale/README')
-rw-r--r--perl/perl-encode-locale/README21
1 files changed, 21 insertions, 0 deletions
diff --git a/perl/perl-encode-locale/README b/perl/perl-encode-locale/README
new file mode 100644
index 0000000000..586df94791
--- /dev/null
+++ b/perl/perl-encode-locale/README
@@ -0,0 +1,21 @@
+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".