Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: UTF-8 for Everything

by Jim (Curate)
on Jul 07, 2013 at 05:15 UTC ( #1042970=note: print w/replies, xml ) Need Help??

in reply to UTF-8 for Everything

I was using use encoding qw( UTF-8 ); but in Perl 5.18 it's deprecated.

As vsespb said, do this instead:

use utf8;

This pragma allows you to use non-ASCII characters inside your Perl script—that is, characters outside the Basic Latin block of Unicode.

I'm using this as a stop-gap:
use open qw( :encoding(utf8) ); binmode STDIN, qw{ :encoding(UTF-8) }; binmode STDOUT, qw{ :encoding(UTF-8) }; binmode STDERR, qw{ :encoding(UTF-8) };

As duelafn said, do this instead:

use open qw( :encoding(UTF-8) :std );

Carefully read Tom Christiansen's (tchrist) brilliant and exhaustive Stack Overflow post Go Thou and Do Likewise. Pay particular attention to the first section titled Simplest Rx:  7 Discrete Recommendations. These seven recommendations are essentially the answer to your question, "What is the best way to get Perl to use UTF-8 for everything?" Then read jrockway's excellent followup post.

Tom's Stack Overflow post evolved into a presentation that he gave at OSCON 2011. The slides are here.

Replies are listed 'Best First'.
Re^2: UTF-8 for Everything
by sundialsvc4 (Abbot) on Jul 07, 2013 at 14:54 UTC

    I only regret that I have but one up-vote to lend to your posting, and especially the links.   Thank you very much.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2020-01-23 13:47 GMT
Find Nodes?
    Voting Booth?