Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Why Doesn't Text::CSV_XS Print Valid UTF-8 Text When Used With the open Pragma?

by Jim (Curate)
on Oct 02, 2011 at 06:52 UTC ( #929110=note: print w/ replies, xml ) Need Help??

Comment on Re^2: Why Doesn't Text::CSV_XS Print Valid UTF-8 Text When Used With the open Pragma?
Re^3: Why Doesn't Text::CSV_XS Print Valid UTF-8 Text When Used With the open Pragma?
by BrowserUk (Pope) on Oct 02, 2011 at 06:59 UTC

    Really? It should:

    -C [number/list] The -C flag controls some of the Perl Unicode features. As of 5.8.1, the -C can be followed either by a number or a list of op +tion letters. The letters, their numeric values, and effects are as f +ollows; listing the letters is equal to summing the numbers. I 1 STDIN is assumed to be in UTF-8 O 2 STDOUT will be in UTF-8 E 4 STDERR will be in UTF-8 S 7 I + O + E i 8 UTF-8 is the default PerlIO layer for input streams o 16 UTF-8 is the default PerlIO layer for output streams D 24 i + o A 32 the @ARGV elements are expected to be strings encoded in UTF-8 L 64 normally the "IOEioA" are unconditional, the L makes them conditional on the locale environment variables (the LC_ALL, LC_TYPE, and LANG, in the order of decreasing precedence) -- if the variables indicate UTF-8, then the selected "IOEioA" are in effect a 256 Set ${^UTF8CACHE} to -1, to run the UTF-8 caching code i +n debugging mode. For example, -COE and -C6 will both turn on UTF-8-ness on both STDOUT +and STDERR. Repeating letters is just redundant, not cumulative nor t +oggling. The io options mean that any subsequent open() (or similar I/O operati +ons) will have the :utf8 PerlIO layer implicitly applied to them, in +other words, UTF-8 is expected from any input stream, and UTF-8 is pr +oduced to any output stream. This is just the default, with explicit +layers in open() and with binmode() one can manipulate streams as usu +al. -C on its own (not followed by any number or option list), or the empt +y string "" for the PERL_UNICODE environment variable, has the same e +ffect as -CSDL. In other words, the standard I/O handles and the defa +ult open() layer are UTF-8-fied but only if the locale environment va +riables indicate a UTF-8 locale. This behaviour follows the implicit +(and problematic) UTF-8 behaviour of Perl 5.8.0.

    Maybe you should perlbug the error.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (11)
As of 2014-08-20 13:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (113 votes), past polls