ืืืื ืืคืงืืื perlunifaq ืฉื ืืชื ืืืจืืฅ ืืกืคืง ืืืืจืื ืืืื ืื ืฉื OnWorks ืืืืฆืขืืช ืืืช ืืชืื ืืช ืืขืืืื ืืืงืืื ืืช ืืืจืืืืช ืฉืื ื, ืืืื Ubuntu Online, Fedora Online, ืืืืืืืจ ืืงืืื ืฉื Windows ืื ืืืืืืืจ ืืงืืื ืฉื MAC OS
ืชึธืึฐื ึดืืช:
ืฉืึตื
perlunifaq - ืฉืืืืช ื ืคืืฆืืช ืฉื Perl Unicode
Q ื A
ืืืื ืจืฉืืื ืฉื ืฉืืืืช ืืชืฉืืืืช ืขื Unicode ื-Perl, ืืืืืขืืช ืืงืจืืื ืืืืจ ืืื
perlunitut.
ืคืจืืื ืืืื ืื ืึผึถืึฑืึถืช a Unicode ืืืจืื, is ืืช ืื?
ืื, ืืื ืื ืืืืช ืฉืืื ื ืคืืฆื ืฉื Unicode.
ืืคืจื ืืฉ ืืืฉืง ืืืคืฉื ืืื ืงืืืืื ืืชืืืื ืื ืชืืืื, ืื ืืื
ืืืขืฉื ืืืจืื ืืืืืช ืฉื "ืงืืืื" ืืฉืืืืช ื ืคืืฆืืช ืขื "ืงืืืื". ืืื ืื ืฉืื ืจืืื ืืืฉืืื ืฉ-Unicode
ืืื ืืืืื ืืงืกืื, ืืื ืจืฆืืชื ืืืืื ืืืชื, ืื ืืืืืชื ืืืชืงืฉืจ ื-
ืืชืขื ืืืจืื ืฉื Unicode.
ืื ืืืคื ืงืืืืืื ืขืืฉื ืคืจื ืชืืืื?
ืืื ืืืืืช ืืืืื ืงืืืืื ืชืืืื ืชืืื Perl ืฉืื, ืืจืฅ:
perl -MEncode -le "ืืืคืก ืขืืืจ Encode->encodings(':all')"
ืืืื ืืจืกื of ืคืจื ืฆืจืื I ืืืฉืชืืฉ?
ืืืื, ืื ืืชื ืืืื, ืฉืืจื ืืืจืกื ืืขืืื ืืช ืืืืชืจ, ืืื ืืืืื 5.8.1 ืื ืืืฉ ืืืชืจ. ืืืืจืื
ืืฉืืืืช ื ืคืืฆืืช ืื ืืืืช ืืช ืืืืืืจื ืืืืจืื ื.
ืืืื ืื ืืืืืง ืืช ืืืืืืืื ืฉืื ืืืฉืืจื ืืืชื ืืืืืช ืืฆืืจื. ืืืืืื,
HTML::Entities ืืืจืฉ ืืจืกื >= 1.32 ืืื ืืชืคืงื ืืืืื, ืืืจืืช ืืืื ืืฉืื ืืืื
ืฉืืชืง ืขื ืื.
ืื ืขื ืืื ืจื ื ืชืื ืื, ืืื ืชืืื ืืช?
ืืืื, ืืืื "binmode $fh" ืืฉืืฃ, ืืชื ืื ืฆืจืื ืืืชืืืืก ืืืืื ืืืืืื. (ืืฆื bin
ื ืืืฅ ืืืืืื ืฉืื ืื ืื, Perl ืขืฉืืื ืืืืืจ ืกืืืืช ืฉืืจื ืืืขืจืืืช Win32.)
ืืืืืจ, ืขื ืืืช, ืืขืืื ืื ืืฉืื ืืืจืืืืช ืืงืกื ืขื ืืืจืืืืช ืืื ืืจืืืช. ืื ืืชื ืฆืจืื ืืงืกื
ืืจื ืืื ืืจื, ืงืืื ืืช ืืืจืืืืช ืืืงืกื ืฉืื ืชืืืื ืืืืฆืขืืช ืืงืืืื ืืืชืืื, ืืืืืจ ืืื ืืฆืืจืฃ
ืืืชื ืขื ืืืจืืืืช ืืื ืืจืืืช. ืจืื ืื: "ืื ืื ืื ื ืื ืืงืืื?".
ืืชื ืฆืจืื I ืึฐืคึทืขึฒื ึตืึท or ืึฐืึทืฆึฐืคึผึดืื?
ืืื ืคืขื ืฉืืชื ืืชืงืฉืจ ืืงืกื ืขื ืื ืืืจ ืฉืืื ืืืฆืื ื ืืชืืืื ื-perl ืฉืื,
ืืื ืืกื ื ืชืื ืื, ืงืืืฅ ืืงืกื, ืฉืงืข ืื ืชืืื ื ืืืจืช. ืื ืื ืืืืจ ืฉืืชื
ืืชืงืฉืจ ืขื ืืชืื ืื ืืคืจื.
ืื if I ืื ืึฐืคึทืขึฒื ึตืึท?
ืืื ืคืขื ืฉืืืืจืืืช ืืืื ืืจืืช ืืืงืืืืช ืฉืื ืืฉืืฉืช ืืื ืขื ืืืจืืืช ืืงืกื, Perl ืื ืื
ืฉืืืืจืืืช ืืืื ืืจืืช ืฉืื ืงืืืื ืขื ISO-8859-1, ืืืืืข ืื ืืฉื ืืืื ืืช-1. ืื ืื ืื ืืื
latin-1, ืื ืื ืชืื ืื ืฉืื ืืืืจืื ืืฆืืจื ืื ื ืขืืื. ืืืืืื, ืื ืื ืืื UTF-8, ื
ืืชืื ืืืืืื ืฉื ืชืืืื ืืจืืืื ื ืชืคืกืื ืืชืืืื ื ืคืจืืื, ืืื ืฉืื
ืืืืจ ื-UTF-8. ื ืืชื ืืืฉืืืช ืงืืืื ืืคืื ืืื ืืงืืืื HTML ืืคืื
(">"), ืื ืงืืืื URI ืืคืื (%253E).
ืคืขื ืื ืืจืืื ืฉืงื ืื ืืืืข ืืฉื "ืฉืืจืื". ืื ืืืื ื ืฉืืข ืืืืื, ืืื ืื ืื
ืืื ืืื ืืืืื ืข ืืื.
ืื if I ืื ืึฐืึทืฆึฐืคึผึดืื?
ืืืจืืืช ืืืงืกื ืฉืื ืชืืฉืื ืืืืฆืขืืช ืืืชืื ืืคืืจืื ืืคื ืืื ืฉื Perl. ืืืงืจืื ืืกืืืืื,
ืคืจื ืชืืืืจ ืืืชื ืฉืืชื ืขืืฉื ืืฉืื ืื ืืกืืจ, ืขื ืืืืจื ืืืืืืชืืช:
ืชื ืจืื ืืืืคืกื ื- example.pl ืฉืืจื 2.
ืืืืืื ืฉืืคืืจืื ืืคื ืืื ืืื ืืจืื UTF-8, ืงืฉื ืืืืืช ืืืืื ืืื, ืืืืืื ืฉ-UTF-8 ืื
ืืืจื ืืื ืืงืืืื ืฉืจืฆืืช! ืืื ืื ืชืชืขืฆืื, ืืื ืชืฉืชืืฉื ืืขืืืื ืฉื ืคืจื
ืืคืืจืื ืืคื ืืื ืืื UTF-8 ืืืืืชื. ืืงืืื ืืืคืืจืฉ ืืื ืืื ืืข ืืืืื ืืืืจืื, ืืื
ืืืจืืืช ืืืชืื ืชื ืชืืืืงื ืฉืืฉืืชื ืขื ืื.
Is ืฉื a ืืจื ื ืืืืคื ืืืืืืื ืึฐืคึทืขึฒื ึตืึท or ืึฐืึทืฆึฐืคึผึดืื?
ืื ืื ืื ืชืื ืื ืฉืืืืขืื ืื ืงืืืช ืืืืื ืืกืืืืช ืืงืืืืื ืืืืืง ืืืืชื ืืืคื, ืืชื ืืืื
ืชืืื ืืืขืจืืช PerlIO ืืคืขื ื ืืื ืืืืคื ืืืืืืื, ืขื ืฉืืืช ื"ืงืืืื". ืื
ืืชื ืขืืฉื ืืช ืื, ืืชื ืื ืืืื ืืฉืืื ืืืขืืช ืืคืขื ื ืื ืืงืืื ืืืชืจ, ืขื ืืืจืื ืฉืืฉืชืืฉืื
ืืืืืช ืืฉืืืชืืช.
ืืชื ืืืื ืืกืคืง ืฉืืื ืื ืืขืช "ืคืชืืืช" ืืงืืืฅ:
ืคืชื ืืช $fh ืฉืื, '>:encoding(UTF-8)', $filename; # ืงืืืื ืืืืืืื ืืืชืืื
ืคืชื ืืช $fh ืฉืื, '<:encoding(UTF-8)', $filename; # ืคืขื ืื ืืืืืืื ืืงืจืืื
ืื ืื ืืืจ ืืฉ ืื ืืืืช ืงืืืฅ ืคืชืืื:
binmode $fh, ':encoding(UTF-8)';
ืื ืืื ืืชืงื ืื ืืกืืืืืื ืฉื ืืกื ื ืชืื ืื ืขืืืจ DBI ืืืืืื ืื ืืงืืื ืืืคืขื ื ืืืืืืืืช, ืืื ืืื
ืืคืขืืื ืืืืื ืืงืืืื UTF-8.
ืื if I ืื ืืืขืช ืืฉืจ ืึทืฆืคึผึธื ึธื ืืื ืืฉืืืืฉ?
ืขืฉื ืื ืฉืืืืืืชื ืืื ืืืืืช, ืืื ืืชื ืฆืจืื: ื ืืฉ. (ืื ืชืฉืื ืืชืขื ืืช ืฉืื
ื ืืฉื ืขื ืืขืจื.)
ืืชื ืืืื ืืคืชืื ืืช ืืืกืื ืืืคืืคื ืืื ืืจื ื ืืืฉื ืืช ืืช ืขืจืืช ืืชืืืื ืื ืืชืืืื
ืงืืืื ืขื ืฉืชืืื ืืืฉืจ ืืืืชืืช ืฉืื ืืืืืืืช ื ืจืืืช ืืื ืฉืฆืจืื.
ืืื ืืจื ืืืืืช ืืืืคื ืืืื ืืช ืืงืืืื ืืืืคื ืืืืืืื, ืื ืื ืื ืฉืื ืืืฉืืืื ืืฉืืื
ืื ืชืื ืื ืฉืื ืืื ืืืืื ืขืจืืช ืชืืืื, ืืืชืื ืฉืืืื ืขืืื ืืื ื ืืืชื.
ืคืืืช I ืืืฉืชืืฉ Unicode in my ืคืจื ืืงืืจืืช?
ืื ืืชื ืืืื! ืื ืืืงืืจืืช ืฉืื ืืงืืืืื ื-UTF-8, ืชืืื ืืฆืืื ืืืช ืืืืฆืขืืช ื-"ืืฉืชืืฉ ื-utf8"
ืคืจืืื.
ืืฉืชืืฉ ื-utf8;
ืื ืื ืขืืฉื ืฉืื ืืืจ ืืงืื ืฉืื, ืื ืืคืื ืฉืื. ืื ืจืง ืืฉืคืืข ืขื ืืืจื ืฉืื
ืงืืจืืื ืืงืืจืืช. ืืชื ืืืื ืืืฉืชืืฉ ื-Unicode ืืืืืืื ืืืจืืืช, ืืืืืื (ืืื ืื ืขืืืื
ืืืืืื ืืืืืช "ืชืืื ืืืืื" ืืคื "\w"), ืืืคืืื ืืืคืจืืืื ืืืชืืืื ืืืฉืืช.
ื ืชืื ืื :: Dumper ืื ืืฉืืืจ ืื ืืื Utfxnumx ืึถืึถื; is it ืฉืึธืืึผืจ?
ืื, ืืืืืืช ื-Unicode ืฉื Data::Dumper ืื ืืคื ืฉืื ืฆืจืืืืช ืืืืืช. ืืื ืืื
ืชืืื ืืช ืฉืขืืื ืืฉืืืจ ืืช ืืื UTF8 ืืืฉืจ ืื ืชืื ืื ื ืงืจืืื ืฉืื ืขื "eval".
ืขื ืืืช, ืืชื ืืืืช ืื ืฆืจืื ืืืกืชืื ืขื ืืืื, ืืฉืื ืืืจ ืื ืืฆืืืข ืขื ืื Data::Dumper
ืฆืจืื ืืฉืืืจ ืืช ืืืื ืืื.
ืื ืื ืฉืงืืจื: ืืฉืคืจื ืงืืจื ืืืืจืืืช ืืืืืืืช, ืืื ื ืฆืื ืืงืืืื ืฉื 8 ืกืืืืืช ืืชืืจ
ืื ืขืื ืื ืืืื. (ืืื ืืืื ืืืงืืจ ืื ืืื ืืงืืื ืคื ืืื ื-UTF-8, ืืืฉืจ ืืชื
ืืจืง ืืืชื.) ืืืฉืจ ืืื ืฆืจืื ืืืืชืจ ืขื ืื ืื ืชืืืื ืืืจืื ืืชืืืกืคืื ืืืงืกื
ืืืจืืืช, ืื ืืฉืืจื ืืฉืงื ืืช ืืืืจืืืช ื-UTF-8.
ืื ืืชื ืืงืืื ืืจืืื ืืช ืืืืจืืืืช ืฉืื ืืคืื, ืื ืื ืื ื ืืืข ืื ืืื
ืืืื ืคืฉืื "ืืฉืืื" ื ืชืื ืื ืืจืืงืื ืืื ืชืืื.
ืืื do regex ืืืคื ืืืชืืช ืืคืขืืื ืืืชืืื ืจืง in ืื ืืื ASCII ืืืื?
ืืื ื-Perl 5.14 (ืืืืงืืช ื-Perl 5.12), ืคืฉืื ืฉืื "ืชืืื ื ืฉืืืืฉ"
'unicode_strings'" ืืกืืื ืืชืืืืช ืืชืืื ืืช ืฉืื. ืืชืื ืืืืงืฃ ืืืืืื ื ืฉืื ืืชื
ืื ืืืืจื ืืืืืช ืืขืื ืื. ืื ืื ืืืคืขื ืืืืืืืืช ืชืืช "ืืฉืชืืฉ ืืชืืื ื ':5.12'"
ืื "ืืฉืชืืฉ ืืืจืกื 5.12" ืื ืืืืฆืขืืช "-E" ืืฉืืจืช ืืคืงืืื ืขืืืจ Perl 5.12 ืืืขืื.
ืืจืฆืืื ื ืืืจืืฉ ืืืช ืืื ืื ืืฉืืืจ ืชืืื ืืืช ืืฉื ืืช ืืืชืจ ืืืกืชืืืืช ืขื ืืืจื
ืืืจืื ืขืืื ืืคื ื ืฉ-Unicode ืืืืข. ืืชืืื ืืืช ืืืฉื ืืช ืืืชืจ ืืืขื ืจืง ืขื ื-ASCII
ืกื ืชืืืื, ืืืื ืขืฉืื ืฉืื ืืคืขืื ืืจืืื ืขืืืจ ืชืืืื ื ืืกืคืื. ืืืฉืจ ืืืจืืืช ืืื
ืืงืืื ื-UTF-8, Perl ืื ืื ืฉืืชืืื ืืช ืืืื ื ืืืชืืืื ืขื Unicode, ืื ืืืฉืจ
ืืืืจืืืช ืื, ืคืจื ืื ืืื ืฉืจืฆืื ืจืง ASCII, ืืืื ืืืืืืืช ืืืื
ืื ืชืืื ASCII ืืื ื ืืืืืื ืืืื ืื ืฉืื ืืืื ื-Unicode. "ืืฉืชืืฉ ืืชืืื ื
'unicode_strings'" ืืืืจ ืืคืจื ืืืชืืืืก ืืื ืืชืืืื ืืื Unicode, ืืื ืื ืืืืจืืืช ืื
ืืงืืื ื-UTF-8 ืื ืื, ืืืื ืืื ืืข ืืช ืืืขืื.
ืขื ืืืช, ื-Perls ืงืืืืื, ืื ืื ืืชื ืืขืืืจ ืืืจืืืืช ืืฉืืจืืช ืืฉื ื ืืืืฅ ืืชืืื ื
ืืืืงืฃ, ืืชื ืืืื ืืืคืืช ืืืงื Unicode ืขื ืืื ืฉืื ืื ืืงืืืื ื-UTF-8 ืขื ืืื ืืืฆืืข
"utf8::upgrade($string)". ื ืืชื ืืืฉืชืืฉ ืืื ืืืืื ืขื ืื ืืืชืจ, ืืืืืื ืฉืืื ืืืืง ืืื ืขืืฉื ืืืช
ืืฉื ืืช ืืืจืืืืช ืฉืืืจ ืฉืืืจืื.
ืืืืื ืืคืืจื ืืืชืจ, ืจืื Unicode::Semantics ืขื CPAN.
ืืื do ืืื ืชืืืื ืึนื ืืืืชืืืช ืจืืฉืืืช or ืืืืชืืืช ืงืื ืืช ื ืืื ื?
ืจืื ืืช ืืชืฉืืื ืืฉืืื ืืงืืืืช.
ืืื ืืืื I ืืงืืืข if a ืืืจืืืช is a ืึถืงืกื ืืืจืืืช or a ืืื ืจื ืืึผื?
ืืชื ืื ืืืื. ืืืงื ืืฉืชืืฉืื ืืืื UTF8 ืืฉืืื ืื, ืืื ืื ืฉืืืืฉ ืืจืขื, ืืืืจื ืืืชื ืืืืช ืืืื
ืืืืืืื ืืื Data::Dumper ื ืจืืื ืจืข. ืืืื ืืกืจ ืชืืขืืช ืืืืจื ืื, ืื ืืื ืืืื
ืืืฉืจ ื ืขืฉื ืฉืืืืฉ ืืงืืืื ืฉื 8 ืกืืืืืช (ืืืจืืจืช ืืืื ISO-8859-1) ืืืืกืื ืืืืจืืืช.
ืื ืืฉืื ืฉืืชื, ืืืชืื ืช, ืฆืจืื ืืขืงืื ืืืจืื; ืืฆืืขืจ. ืืชื ืืืื ืืฉืงืื
ืืืืืฅ ืืขืื "ืกืืื ืืื ืืจื" ืืื ืืขืืืจ ืืื.
ืืื do I ืืืืืจ ืืื ื- ืึทืฆืคึผึธื ึธื FOO ื ืึทืฆืคึผึธื ึธื ืึผึธืจ?
ืขื ืืื ืืืจืช ืชืืืื ืืช ืืืจืืืช ืืืืืื ืืืงืืืืช ื-FOO ืืืืจืืืช ืืงืกื, ืืืืืจ ืืื ืืช ืืืจืืืช ืืืงืกื
ืืืืจืืืช ืืชืื ืืงืืืืช BAR:
my $text_string = decode('FOO', $foo_string);
my $bar_string = encode('BAR', $text_string);
ืื ืขื ืืื ืืืืื ืขื ืืืง ืืืจืืืช ืืืงืกื, ืืืขืืจ ืืฉืืจืืช ืืงืืืื ืืื ืืจื ืืื ื-
ืึทืึตืจ:
ืืฉืชืืฉ ื-Encode qw(from_to);
from_to($string, 'FOO', 'BAR'); # ืืฉื ื ืืช ืืชืืื ืฉื $string
ืื ืขื ืืื ืืชื ืืคืฉืจืืช ืืคืขื ืื ืืงืืืื ืืืืืืืืื ืืขืฉืืช ืืช ืื ืืขืืืื:
ืคืชื ืืช $foofh ืฉืื, '<:encoding(FOO)', 'example.foo.txt';
ืคืชื ืืช $barfh ืฉืื, '>:encoding(BAR)', 'example.bar.txt';
ืืืคืก { $barfh } $_ ืืขืื <$foofh>;
ืื ืืฉ ืื "decode_utf8" ื "encode_utf8"?
ืืื ืื ืชืืืืจืื ืืืืคืืื ืขืืืจ "decode('utf8', ...)" ื-"encode('utf8', ...)".
ืื is a "ืจึธืึธื ืืืคื"?
ืืื ืืื ื ืืืฉืืฉ ืืชืืืื ืืชืืคืกืื ืืืชืจ ืืืืื ืืื.
ืืืืจืช ืคืจื "ืืืืช ืจืืื ื..." ื ืืจืืช ืขื ืืื ืืืืช ืืื. ืืื ืฆืืื
ืฉืืืช ืืงืืืื, Perl ืื ืกื ืืืชืืื ืืืจืื ืืืืื ืืืื. ืืฉืืื ืื ืืืืื, ืืื ืคืืืืช ืืช ืื
ืืืืจื (ืื ืืืืจืืช ืืืคืขืืืช), ืืืฉืชืืฉ ืืืงืื ืืืช ืื ืชืื ืื ืืงืืืืื UTF-8.
ืืื ืืืืื ืข ืืืืืืจื ืื ืืืืืื ืข ืืงืืืืื ืคืื ืฉืื ืื ืืืจื ืืืื,
ืชืืื ืฆืืื ืงืืืื ืืืืคื ืืคืืจืฉ, ืืืฉื ืขื ืฉืืืช PerlIO:
binmode STDOUT, ": ืงืืืื (UTF-8)";
ืคื ืืืืืช
ืื is "ื Utfxnumx ืึถืึถื"?
ืืืงืฉื, ืืื ืื ืื ืืชื ืคืืจืฅ ืืืืงืื ืืคื ืืืืื, ืื ืื ืคืช ืืืืื ืืืืจืืช, ืื ืชืืฉืื ืขื
ืืื UTF8 ืืืื. ืื ืืืืจ ืฉืกืืืจ ืืื ืื ืฉืื ืืืื ืืืฉืชืืฉ ื-"is_utf8", "_utf8_on" ืื
"_utf8_off" ืืืื.
ืืื UTF8, ืื ืงืจื ืื SvUTF8, ืืื ืืื ืคื ืืื ืืืฆืืื ืื ืืืจื
ืืืืฆืื ืืคื ืืื ืืื UTF-8. ืืื ืืืื, ืืื ืื ืืื ืฉืืื ISO-8859-1. ืคืจื
ืืืืจ ืืื ืืื ืืืืคื ืืืืืืื. (ืืืขืฉื ืคืจื ืืืจื ืืื ืื ืืื ืืช ืืืืฆืื
ืืื ASCII; ืจืื "ืืืืข ืืืืงืืช ืชืืืื ืจืืงืก ืชืืืืืช ืืคืขืืื ืจืง ืืืืื ASCII?"
ืืขืื).
ืืื ืืคืืจืืืื ืืคื ืืืืื ืฉื Perl ืืื ืืืงืจื UTF-8. ืืืจืื ืืฆืขืจ, ืคืจื ืื ืืืื ืืฉืืืจ ืขื ื
ืกืื, ืื ืืืื ืืืืขืื ืขื ืื. ืื ืืืงืืจ ืืืืืื ืจื. ืขืืืฃ ื
ืืขืื ืคื ืื ืฉืืคืืจืื ืืคื ืืื ืืื ืงืืืื ืื ืืืืข ืืฉืชืืื ืฆืจืื ืืขืฉืืช ืืืช
ืืงืืื ืืืคืขื ื ืืืืคื ืืคืืจืฉ.
ืื ืขื ืื ืืื "ืืืฉืชืืฉ ืืชืื" ืคืจืืื?
ืื ืชืฉืชืืฉ ืื. ืื ืื ืืืืื ื ืืืชืืืื ืขื ืืชืื ืืืืจืืืช ืืงืกื, ืืื ืื ืืืืื ื
ืืื ืืืชืืืื ืขื ืชืืืื ืืืืจืืืช ืืชืื. ืืฆืข ืืช ืืืืจืืช ืืืชืืืืืช (ืขื ืืื
ืคืขื ืื/ืงืืืื), ืืืืืจืื ืืกืชืืจื ืืืื: ืืชื ืืงืื ืกืคืืจืช ืชืืืื ืืคืขื ืื
ื ืชืื ืื ืืกืคืืจืืช ืืชืื ืขืืืจ ื ืชืื ืื ืืงืืืืื.
"ืืฉืชืืฉ ืืืชืื" ืืื ืืืจื ืืื ื ืืกืืื ืืืฉื ืืขืฉืืช ืืฉืื ืืืขืื. ืคืฉืื ืฉืื ืืื.
ืื ืขื ืื ืืื "ืืืฉืชืืฉ ืึทืฆืคึผึธื ึธื" ืคืจืืื?
ืื ืชืฉืชืืฉ ืื. ืืืจืื ืืฆืขืจ, ืืื ืื ืืื ืฉืืกืืืื ืฉื ืืืชืื ืช ืืฉื ื
ืืืฉืชืืฉ ืืฉืชืืฉ ืืืืชื ืงืืืื. ืื ืืฉืชืืฉ ืืืืชื ืงืืืื ืขืืืจ ืงืื ืืืงืืจ ืืขืืืจ
STDIN ื-STDOUT. ืืืฉืจ ืชืืื ืืช ืืืขืชืงืช ืืืืฉื ืืืจ, ืงืื ืืืงืืจ ืื
ืืฉื ืืช, ืืื ืกืืืืช STDIO ืขืฉืืื.
ืื ืืชื ืฆืจืื ืชืืืื ืฉืืื ื ASCII ืืงืื ืืืงืืจ ืฉืื, ืืคืื ืืืชื ืืงืืืฅ ืืงืืื UTF-8 ื
"ืืฉืชืืฉ ื-utf8".
ืื ืืชื ืฆืจืื ืืืืืืจ ืืช ืืงืืืื ืขืืืจ STDIN, STDOUT ื-STDERR, ืืืฉื ืืืชืืกืก ืขื
ืืืงืื ืฉื ืืืฉืชืืฉ, "ืืฉืชืืฉ ืืคืชืื".
ืื is ืื ืืื ืืืื ืึผึตืื ":ืึทืฆืคึผึธื ึธื" ื ":utf8"?
ืืืืืื ืฉ-UTF-8 ืืื ืืื ืืืคืืจืืืื ืืคื ืืืืื ืฉื Perl, ืืขืชืื ืงืจืืืืช ืืชื ืืืื ืคืฉืื ืืืื ืขื ืืงืืืื ืื
ืฉืื ืคืขื ืื, ืืืชืคืขื ืืฉืืจืืช ืืช ืืื UTF8.
ืืืงืื ":encoding(UTF-8)", ืืชื ืืืื ืคืฉืื ืืืฉืชืืฉ ื-":utf8", ืฉืืืื ืขื ืฉืื ืืงืืืื
ืื ืื ืชืื ืื ืืืจ ืืืืฆืืื ื-UTF8 ืืืืคื ืคื ืืื. ืื ืืงืืื ืืืืคื ื ืจืื ืืืื
ืืชื ืืืืช ืืฉืืชื ืืืชื, ืืื ืื ืืืื ืืืืืช ืืกืืื ืืงืจืืื, ืื ืื ืืืจื
ืืืกืจ ืขืงืืืืช ืคื ืืื ืืืฉืจ ืืฉ ืื ืจืฆืคื ืืชืื ืื ืืืงืืื. ืฉืืืืฉ ื-":utf8" ืืงืื ืืืื
ืืคืขืืื ืืืจืืืช ืืคืจืฆืืช ืืืืื, ืื ืื ื ืืฉืชืืฉ ื-":encoding(UTF-8)" ืืืงืื ืืืช.
ืืืงืื "ืคืขื ืื" ื"ืงืืืื", ืืชื ืืืื ืืืฉืชืืฉ ื-"_utf8_on" ื-"_utf8_off", ืืื ืื
ื ืืฉื ืืกืื ืื ืืจืืข. ืืืืืื "_utf8_on" ืืืื ืืืืืช ืืกืืื, ืืืืชื ืกืืื
":utf8" ืืืื.
ืืฉ ืืื ืงืืฆืืจื ืืจื ืืืื ืืื ืจืื; ืจืื -C ื-perlrun.
ืื ืื ืื ืืื ืืืื ืึผึตืื "UTF-8" ื "utf8"?
"UTF-8" ืืื ืืชืงื ืืจืฉืื. "utf8" ืืื ืืืจื ืฉื ืคืจื ืืืืืช ืืืืจืื ืืื ืฉืืื
ืืงืื. ืื ืืชื ืฆืจืื ืืชืงืฉืจ ืขื ืืืจืื ืฉืื ืื ืื ืื ืืืืจืืืื, ืืืื ืชืจืฆื
ืฉืงืื ืืืฉืชืืฉ ื-"UTF-8". ืื ืืชื ืฆืจืื ืืชืงืฉืจ ืขื ืืืจืื ืืืืจืืืื ืืื, ืืชื
ืืืชืื ืฉืืืื ืขืืื ืืืฉืชืืฉ ื-"utf8". ืืืกืืจ ืืืื ื ืืฆื ื-Encode.
"UTF-8" ืืืืข ืืืืคื ืคื ืืื ืืฉื "utf-8-strict". ืืืืจืื ืืฉืชืืฉ ื-UTF-8 ืืืืคื ืขืงืื, ืืคืืื
ืืืฉืจ utf8 ืืฉืืฉ ืืืขืฉื ืืืืคื ืคื ืืื, ืืืืืื ืฉืืืืื ื ืืืืื ืืืืืช ืงืฉื ืืืืฆืืข, ื
ืืจืื ืื ืจืืืื ืื.
ืืืืืื, ื ืืชื ืืืฉืชืืฉ ื-utf8 ืขืืืจ ื ืงืืืืช ืงืื ืฉืืื ื ืงืืืืืช ื-Unicode, ืืื 9999999,
ืืื ืื ืืชื ืืงืืื ืืช ืื ื-UTF-8, ืืชื ืืงืื ืชื ืืืืคื (ืืืจืืจืช ืืืื; ืจืื
"ืืืคืื ืื ืชืื ืื ืฉืืืืื" ื-Encode ืืงืืืช ืืจืืื ื ืืกืคืืช ืืืชืืืื ืขื ืื.)
ืืืงืื, ืื ืืชื ืืชืขืงืฉ: "ืืคืืจืื ืืคื ืืื" ืืื utf8, ืื UTF-8. (ืืฉืื ืื ืืฉืื ืืืจ
ืึทืฆืคึผึธื ึธื.)
I ืืืื ืึทืกืืึผื; ืื ืึทืฆืคึผึธื ึธื is ืื ืืื ืคื ืืื ืคืึผืจืึธื ืึผึถืึฑืึถืช?
ืื ืืื ืฉืืืืืช ืืช ืืืืืื, ืื ืืชื ืื ืฆืจืื ืืืืืช ืชืืื ืืคืืจืื ืืคื ืืื
ืื ืงืืืื ืกืคืฆืืคื. ืืื ืืืืืื ืฉืฉืืืช: ืืืจืืจืช ืืืื, ืืคืืจืื ืืคื ืืื ืืื ืื
ISO-8859-1 (latin-1), ืื utf8, ืชืืื ืืืืกืืืจืื ืฉื ืืืืจืืืช. ืขื EBCDIC
ืคืืืคืืจืืืช, ืื ืขืฉืื ืืืืืช ืฉืื ื ืืคืืื.
ืคืจื ืืืืข ืืื ืืื ืืืกื ืืช ืืืืจืืืช ืืืืคื ืคื ืืื, ืืชืฉืชืืฉ ืืืืข ืืื ืืฉืืชื
"ืึฐืึทืฆึฐืคึผึดืื". ืืืืืื ืืืจืืช: ืื ืชื ืกื ืืืจืจ ืื ืืงืืืื ืืคื ืืื ืขืืืจ ืืกืืื
ืืืจืืืช ืืื, ืืื ืืืงืื ืืืช ืคืฉืื ืืงืืื ืืืชื ืืงืืืื ืฉืืชื ืจืืฆื.
ืืฉืชืืฉ ื-perlunifaq ืืืื ืืจื ื ืืืืฆืขืืช ืฉืืจืืชื onworks.net