my $Str = 'δφόΔΦάί' . "\n"; #### use v5.14; use warnings; use Encode qw( decode ); use Win32 qw( ); my $enc = -t STDOUT ? "cp" . Win32::GetConsoleOutputCP() : "UTF-8"; binmode( STDOUT, ":encoding($enc)" ); my $str = decode( "cp1252", "δφόΔΦάί" ); #warn sprintf "%vX", $str; # E4.F6.FC.C4.D6.DC.DF say $str; #### use v5.14; use warnings; use utf8; use Win32 qw( ); my $enc = -t STDOUT ? "cp" . Win32::GetConsoleOutputCP() : "UTF-8"; binmode( STDOUT, ":encoding($enc)" ); my $str = "δφόΔΦάί"; #warn sprintf "%vX", $str; # E4.F6.FC.C4.D6.DC.DF say $str; #### >chcp Active code page: 65001 # My machine use UTF-8 for the console. >perl a.pl δφόΔΦάί >chcp 850 Active code page: 850 # It used to default to this. >perl a.pl δφόΔΦάί >chcp 437 Active code page: 437 # Common in the US. >perl a.pl δφόΔΦάί >perl a.pl >a >perl -Mv5.14 -ne"say sprintf '%vX', $_" a C3.A4.C3.B6.C3.BC.C3.84.C3.96.C3.9C.C3.9F.A # UTF-8 of δφόΔΦάί