尝试使用俄语lettaz和控制台就像驴一样,因为没有对使用utf8 / utf-8或cp1251指令做出反应。 用红色标记的文字的编码我不知道。 谁知道如何解决?代码清单如下:
#!/usr/bin/perl -w
use strict;
use warnings;
use Tie::IxHash;
tie my %hash, "Tie::IxHash";
%hash = (
'шляпа' => 'серая',
'водка' => 'горькая',
'вобла' => 'вкусная');
print "В упорядоченной вставке список хеша такой:\n";
foreach my $qwerty (keys %hash){
print " $qwerty\n";
}
print "Кроме того, предметы обладают некоторыми свойствами:\n";
while((my($predmet, $opredelenie)) = each %hash){
print "$predmet $opredelenie","\n";
}
答案 0 :(得分:0)
您需要指定STDOUT编码。这个脚本是utf-8编码的:
use strict;
use warnings;
#use Tie::IxHash;
use utf8;
binmode STDOUT, ":encoding(cp866)";
my %hash = (
'шляпа' => 'серая',
'водка' => 'горькая',
'вобла' => 'вкусная'
);
print "В упорядоченной вставке список хеша такой:\n";
foreach my $qwerty ( keys %hash ) {
print " $qwerty\n";
}
print "Кроме того, предметы обладают некоторыми свойствами:\n";
while ( ( my ( $predmet, $opredelenie ) ) = each %hash ) {
print "$predmet $opredelenie", "\n";
}