use utf8;
use open ':std' => ':encoding(UTF-8)';
use locale;
####
use utf8;
use CGI qw( -utf8 );
use open IO => ':utf8';
use open ':std' => ':encoding(UTF-8)';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $dbh = DBI->connect( "dbi:mysql:dbname=$db;host=localhost", $user, $pwd, {mysql_enable_utf8 => 1 });
##
##
If you have properly set up UTF-8 system,
you can just say
use utf8_everywhere; # because "use utf8" means something narrower
and relax. If your situation needs something more
complex, continue reading...