Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

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?
Replies are listed 'Best First'.
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?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2015-11-29 02:47 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (746 votes), past polls