in reply to Re: My UTF-8 text isn't surviving I/O as expected
in thread My UTF-8 text isn't surviving I/O as expected
I still have trouble reading UTF-8 from command line arguments. I assume this is not a Perl issue; any suggestions how to fix?
#!/usr/bin/env perl
use v5.40;
use utf8;
use open qw(:std :encoding(UTF-8));
my $utf8_text1 = shift;
say "A variable set from argument on command line";
show ($utf8_text1);
my $utf8_text2 = 'Åke Lindström;
say "A variable set to UTF8 literal";
show($utf8_text2);
chomp (my $utf8_text3 = <>);
say "A variable set by reading from STDIN";
show($utf8_text3);
sub show($str) {
say "Binary: ", join ' ', (unpack "H*", $str) =~ m/../g ;
say "Text>STDOUT: $str";
}
Output:
$ echo "Åke Lindström" | u 'Åke Lindström' A variable set from argument on command line Binary: c3 85 6b 65 20 4c 69 6e 64 73 74 72 c3 b6 6d Text>STDOUT: à ke Lindström A variable set to UTF8 literal Binary: c5 6b 65 20 4c 69 6e 64 73 74 72 f6 6d Text>STDOUT: Åke Lindström A variable set by reading from STDIN Binary: c5 6b 65 20 4c 69 6e 64 73 74 72 f6 6d Text>STDOUT: Åke Lindström
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: My UTF-8 text isn't surviving I/O as expected
by choroba (Cardinal) on Nov 23, 2024 at 22:50 UTC |